/*!
 * Global Media Core · front-end styles
 * Brand: white, royal blue (from logo) and navy. Author: Afaz Alif · https://afazalif.com
 */
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Neutralise Hello Elementor reset inside our widgets (kept at low specificity so components win) */
.gmc :is(button, [type=button], [type=submit]) { font: inherit; color: inherit; background: none; border: 0; border-radius: 0; padding: 0; margin: 0; text-align: inherit; white-space: normal; user-select: auto; text-transform: none; letter-spacing: inherit; cursor: pointer; box-shadow: none; }
.gmc :is(button, [type=button], [type=submit]):where(:hover, :focus, :active) { background-color: transparent; color: inherit; text-decoration: none; }
.gmc :is(a):where(:hover, :active, :focus) { color: inherit; }
.gmc :is(input, select, textarea) { box-shadow: none; outline: none; }
.gmc figure, .gmc blockquote { margin: 0; padding: 0; border: 0; }
.gmc figcaption { font-style: normal; font-size: inherit; text-align: inherit; margin: 0; color: inherit; }
.gmc blockquote { font-style: normal; quotes: none; }

.gmc {--white: #ffffff;
  --royal: #0057b2;        
  --royal-600: #00489a;
  --royal-400: #2f7bd6;
  --royal-300: #7fb0f0;
  --royal-200: #b9d3f3;
  --royal-100: #dce8f8;
  --royal-50: #eef4fc;
  --navy: #0b1f46;
  --navy-700: #12295a;
  --navy-600: #1b3670;
  --ink: #0b1f46;
  --body: #46557a;
  --muted: #5f6f92;        
  --line: #e3eaf5;
  --soft: #f5f8fd;
  --wa: #25d366;

  --font: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: "Instrument Serif", Georgia, "Times New Roman", serif;

  --r-xl: 32px;
  --r-lg: 26px;
  --r-md: 18px;
  --r-sm: 12px;

  --shadow-sm: 0 1px 2px rgba(11, 31, 70, .06), 0 2px 8px rgba(11, 31, 70, .04);
  --shadow-md: 0 12px 32px -14px rgba(11, 31, 70, .22);
  --shadow-lg: 0 30px 70px -28px rgba(11, 31, 70, .35), 0 8px 20px -12px rgba(11, 31, 70, .12);

  --ease: cubic-bezier(.2, .7, .2, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --container: 1240px;
  --header-h: 72px;}
.gmc, .gmc *, .gmc *::before, .gmc::before, .gmc *::after, .gmc::after {box-sizing: border-box;}
.gmc {margin: 0;
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.6;
  color: var(--body);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;}
body.gmc-menu-open {overflow: hidden;}
.gmc img, .gmc svg {display: block; max-width: 100%;}
.gmc img {height: auto;}
.gmc a {color: inherit; text-decoration: none;}
.gmc button {font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer;}
.gmc ul, .gmc ol {margin: 0; padding: 0; list-style: none;}
.gmc p {margin: 0; text-wrap: pretty;}
.gmc h1, .gmc h2, .gmc h3, .gmc h4 {margin: 0; color: var(--ink); font-weight: 600; letter-spacing: -.028em; line-height: 1.08; text-wrap: balance;}
.gmc h2 {font-size: clamp(2.05rem, 3.7vw, 3.25rem); letter-spacing: -.035em; line-height: 1.04;}
.gmc h3 {font-size: 1.3rem; letter-spacing: -.02em; line-height: 1.2;}
.gmc figure, .gmc blockquote {margin: 0;}
.gmc ::selection {background: var(--royal); color: #fff;}
.gmc .accent {font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.01em;
  color: var(--royal);
  padding-right: .04em;}
.gmc .i {width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;}
.gmc .i-sm {width: 16px; height: 16px;}
.gmc :focus-visible {outline: 2px solid var(--royal); outline-offset: 3px; border-radius: 8px;}
.gmc .skip-link {position: fixed; left: 16px; top: -60px; z-index: 100; background: var(--navy); color: #fff; padding: 10px 16px; border-radius: 10px; font-weight: 600; transition: top .2s;}
.gmc .skip-link:focus {top: 16px;}
.gmc .gmc-wrap {width: min(100% - 48px, var(--container)); margin-inline: auto;}
.gmc .gmc-section {padding-block: clamp(84px, 10vw, 140px); position: relative;}
.gmc .lead {font-size: clamp(1.0625rem, 1.25vw, 1.1875rem); line-height: 1.6; margin-top: 22px; max-width: 520px;}
.gmc .eyebrow {display: inline-flex; align-items: center; gap: 12px;
  font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--royal); margin-bottom: 22px;}
.gmc .eyebrow-idx {font-family: var(--serif); font-style: italic; font-weight: 400;
  font-size: 18px; letter-spacing: 0; text-transform: none;
  display: inline-flex; align-items: center; gap: 12px; color: var(--royal);}
.gmc .eyebrow-idx::after {content: ""; width: 28px; height: 1px; background: currentColor; opacity: .5;}
.gmc .eyebrow.on-dark, .gmc .eyebrow.on-dark .eyebrow-idx {color: var(--royal-300);}
.gmc .eyebrow.on-royal, .gmc .eyebrow.on-royal .eyebrow-idx {color: #cfe1f8;}
.gmc .section-head {display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: end; margin-bottom: clamp(44px, 5vw, 64px);}
.gmc .section-head > p {font-size: 18px; max-width: 420px; justify-self: end; padding-bottom: 6px;}
.gmc .btn {position: relative; isolation: isolate;
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  height: 54px; padding: 0 10px 0 26px; border-radius: 999px;
  font-weight: 600; font-size: 15.5px; letter-spacing: -.005em; white-space: nowrap;
  transition: background-color .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);}
.gmc .btn:not(:has(.btn-ico)) {padding: 0 26px;}
.gmc .btn-ico {position: relative; overflow: hidden;
  width: 36px; height: 36px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255, 255, 255, .16);
  transition: background-color .3s var(--ease);}
.gmc .btn-ico .i {width: 17px; height: 17px; transition: transform .45s var(--ease-out);}
.gmc .btn-ico .i + .i {position: absolute; transform: translateX(-180%);}
.gmc .btn:hover .btn-ico .i:first-child {transform: translateX(180%);}
.gmc .btn:hover .btn-ico .i + .i {transform: translateX(0);}
.gmc .btn-primary {background: var(--royal); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 24px -10px rgba(0, 87, 178, .65);}
.gmc .btn-primary:hover {background: var(--royal-600); transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 16px 30px -12px rgba(0, 87, 178, .7);}
.gmc .btn-primary:active {transform: translateY(0);}
.gmc .btn-ghost {background: #fff; color: var(--ink); box-shadow: inset 0 0 0 1px var(--line), var(--shadow-sm);}
.gmc .btn-ghost:hover {color: var(--royal); box-shadow: inset 0 0 0 1px var(--royal-200), var(--shadow-md); transform: translateY(-2px);}
.gmc .btn-white {background: #fff; color: var(--royal); box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .35);}
.gmc .btn-white .btn-ico {background: var(--royal-50);}
.gmc .btn-white:hover {transform: translateY(-2px); background: #f3f7fd;}
.gmc .btn-white > .i {width: 19px; height: 19px;}
.gmc .btn-sm {height: 46px; font-size: 14.5px; padding-left: 20px; gap: 10px;}
.gmc .btn-sm .btn-ico {width: 30px; height: 30px;}
.gmc .btn-sm:not(:has(.btn-ico)) {padding: 0 18px;}
.gmc .btn-block {width: 100%;}
.gmc .gmc-header {position: fixed; inset: 0 0 auto 0; z-index: 50;
  padding-top: 14px;
  transition: transform .5s var(--ease-out);}
.gmc .gmc-header.is-hidden {transform: translateY(-130%);}
.gmc .gmc-header-inner {position: relative;
  display: flex; align-items: center; gap: 20px;
  height: var(--header-h);
  padding: 0 10px 0 22px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: blur(18px) saturate(1.5);
  backdrop-filter: blur(18px) saturate(1.5);
  border: 1px solid rgba(227, 234, 245, .9);
  box-shadow: 0 1px 0 rgba(255,255,255,.7) inset;
  transition: height .4s var(--ease), background-color .4s var(--ease), box-shadow .4s var(--ease);}
.gmc .gmc-header.is-scrolled .gmc-header-inner {height: 64px; background: rgba(255, 255, 255, .9); box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, var(--shadow-md);}
.gmc .brand img {height: 38px; width: auto;}
.gmc .main-nav {flex: 1; display: flex; justify-content: center;}
.gmc .main-nav > ul {display: flex; gap: 2px;}
.gmc .nav-link {display: inline-flex; align-items: center; gap: 6px;
  height: 40px; padding: 0 14px; border-radius: 999px;
  font-size: 15px; font-weight: 500; color: var(--ink);
  transition: background-color .25s var(--ease), color .25s var(--ease);}
.gmc .nav-link:hover, .gmc .has-mega.is-open > .nav-link, .gmc .has-mega:hover > .nav-link {background: var(--royal-50); color: var(--royal);}
.gmc .nav-link .chev {transition: transform .35s var(--ease);}
.gmc .has-mega:hover .chev, .gmc .has-mega.is-open .chev {transform: rotate(180deg);}
.gmc .header-actions {display: flex; align-items: center; gap: 14px;}
.gmc .header-phone {display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--ink); white-space: nowrap; transition: color .2s;}
.gmc .header-phone:hover {color: var(--royal);}
.gmc .header-phone-ico {width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--royal-50); color: var(--royal); transition: background-color .25s, color .25s;}
.gmc .header-phone:hover .header-phone-ico {background: var(--royal); color: #fff;}
.gmc .menu-toggle {display: none; width: 46px; height: 46px; border-radius: 14px; background: var(--navy); position: relative;}
.gmc .menu-toggle span {position: absolute; left: 14px; right: 14px; height: 2px; border-radius: 2px; background: #fff; transition: transform .3s var(--ease);}
.gmc .menu-toggle span:first-child {top: 18px;}
.gmc .menu-toggle span:last-child {top: 26px; right: 20px;}
.gmc .menu-toggle:hover span:last-child {right: 14px;}
.gmc .has-mega {position: static;}
.gmc .mega {position: absolute; top: calc(100% + 12px); left: 50%;
  width: min(820px, calc(100vw - 48px));
  display: grid; grid-template-columns: 1fr 250px; gap: 8px;
  padding: 10px;
  background: #fff; border: 1px solid var(--line); border-radius: 24px;
  box-shadow: var(--shadow-lg);
  opacity: 0; visibility: hidden;
  transform: translate(-50%, 10px);
  transition: opacity .3s var(--ease), transform .4s var(--ease-out), visibility .3s;}
.gmc .mega::before {content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px;}
.gmc .has-mega:hover .mega, .gmc .has-mega.is-open .mega {opacity: 1; visibility: visible; transform: translate(-50%, 0);}
.gmc .mega-list {display: grid; grid-template-columns: 1fr 1fr; gap: 2px;}
.gmc .mega-item {display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; padding: 14px; border-radius: 16px; transition: background-color .25s var(--ease);}
.gmc .mega-item:hover {background: var(--soft);}
.gmc .mega-item b {display: block; font-size: 15px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; line-height: 1.3;}
.gmc .mega-item small {display: block; font-size: 13.5px; color: var(--muted); line-height: 1.4; margin-top: 2px;}
.gmc .mega-ico {width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: var(--royal-50); color: var(--royal); transition: background-color .25s, color .25s, transform .35s var(--ease);}
.gmc .mega-item:hover .mega-ico {background: var(--royal); color: #fff; transform: rotate(-6deg);}
.gmc .mega-aside {position: relative; overflow: hidden; background: var(--navy); color: rgba(255,255,255,.72); border-radius: 18px; padding: 24px; display: flex; flex-direction: column; align-items: flex-start;}
.gmc .mega-aside::after {content: ""; position: absolute; right: -60px; top: -60px; width: 180px; height: 180px; border-radius: 50%; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 0 0 26px rgba(255,255,255,.025), 0 0 0 52px rgba(255,255,255,.02);}
.gmc .mega-aside-kicker {font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--royal-300);}
.gmc .mega-aside-title {font-size: 20px; font-weight: 600; color: #fff; letter-spacing: -.02em; line-height: 1.2; margin: 12px 0 8px;}
.gmc .mega-aside-text {font-size: 14px; line-height: 1.5; margin-bottom: auto; padding-bottom: 20px;}
.gmc .mobile-menu {position: fixed; inset: 0; z-index: 70;
  display: flex; flex-direction: column;
  padding: 18px 16px calc(20px + env(safe-area-inset-bottom));
  background: var(--navy); color: #fff;
  transform: translateX(100%); visibility: hidden;
  transition: transform .55s var(--ease-out), visibility .55s;
  overflow-y: auto;}
.gmc .mobile-menu.is-open {transform: none; visibility: visible;}
.gmc .mm-top {display: flex; align-items: center; justify-content: space-between; padding: 4px 4px 18px;}
.gmc .logo-white {filter: brightness(0) invert(1);}
.gmc .mm-top img {height: 34px; width: auto;}
.gmc .mm-close {width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(255,255,255,.08);}
.gmc .mm-nav {display: flex; flex-direction: column; margin-top: 8px;}
.gmc .mm-link {display: flex; align-items: center; justify-content: space-between; width: 100%;
  padding: 18px 4px; border-bottom: 1px solid rgba(255,255,255,.1);
  font-size: 28px; font-weight: 600; letter-spacing: -.03em; color: #fff; text-align: left;
  opacity: 0; transform: translateX(24px);
  transition: opacity .5s var(--ease), transform .6s var(--ease-out), color .2s;}
.gmc .mobile-menu.is-open .mm-link {opacity: 1; transform: none;}
.gmc .mobile-menu.is-open .mm-link:nth-child(1) {transition-delay: .08s;}
.gmc .mobile-menu.is-open .mm-link:nth-child(3) {transition-delay: .12s;}
.gmc .mobile-menu.is-open .mm-link:nth-child(4) {transition-delay: .16s;}
.gmc .mobile-menu.is-open .mm-link:nth-child(5) {transition-delay: .2s;}
.gmc .mobile-menu.is-open .mm-link:nth-child(6) {transition-delay: .24s;}
.gmc .mobile-menu.is-open .mm-link:nth-child(7) {transition-delay: .28s;}
.gmc .mm-sub-toggle .i {transition: transform .35s var(--ease);}
.gmc .mm-sub-toggle[aria-expanded="true"] .i {transform: rotate(180deg);}
.gmc .mm-sub {display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--ease);}
.gmc .mm-sub > div {overflow: hidden; display: flex; flex-direction: column;}
.gmc .mm-sub.is-open {grid-template-rows: 1fr;}
.gmc .mm-sub a {padding: 12px 4px 12px 16px; font-size: 17px; color: rgba(255,255,255,.75); border-left: 1px solid rgba(255,255,255,.14); margin-left: 4px;}
.gmc .mm-sub a:first-child {margin-top: 12px;}
.gmc .mm-sub a:last-child {margin-bottom: 12px;}
.gmc .mm-bottom {margin-top: auto; padding-top: 28px; display: grid; gap: 12px;}
.gmc .mm-contact {display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
.gmc .mm-contact a {display: flex; align-items: center; justify-content: center; gap: 8px; height: 50px; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); font-weight: 600; font-size: 14.5px;}
.gmc .hero {position: relative; padding: calc(var(--header-h) + 88px) 0 64px; overflow: clip; background: linear-gradient(180deg, #f2f6fd 0%, #fff 78%);}
.gmc .hero-bg {position: absolute; inset: 0; pointer-events: none;}
.gmc .hero-grid {position: absolute; inset: 0;
  background-image:
    linear-gradient(to right, rgba(0, 87, 178, .07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 87, 178, .07) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 70% 65% at 72% 35%, #000 25%, transparent 75%);
  mask-image: radial-gradient(ellipse 70% 65% at 72% 35%, #000 25%, transparent 75%);}
.gmc .hero-glow {position: absolute; width: 720px; height: 720px; right: -160px; top: -220px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 87, 178, .12), rgba(0, 87, 178, 0) 65%);}
.gmc .hero-inner {position: relative; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(32px, 5vw, 72px); align-items: center;}
.gmc .hero-badge {display: inline-flex; align-items: center; gap: 12px;
  padding: 6px 16px 6px 6px; margin-bottom: 30px;
  border-radius: 999px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm);
  font-size: 14px; font-weight: 500; color: var(--ink);}
.gmc .hero-badge-tag .short {display: none;}
.gmc .hero-badge-tag {background: var(--navy); color: #fff; font-size: 12px; font-weight: 600; padding: 4px 11px; border-radius: 999px; letter-spacing: .01em;}
.gmc .hero h1 {font-size: clamp(2.7rem, 4.55vw, 4.3rem); line-height: 1; letter-spacing: -.045em; font-weight: 600;}
.gmc .hero h1 .accent {position: relative; display: inline-block; white-space: nowrap; letter-spacing: -.02em; font-size: 1.06em; line-height: .9;}
.gmc .swash {position: absolute; left: 0; right: 0; bottom: -.12em; width: 100%; height: .22em; overflow: visible;}
.gmc .swash path {fill: none; stroke: var(--royal-300); stroke-width: 3.2; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: gmc-draw 1.1s .35s var(--ease-out) forwards;}
@keyframes gmc-draw{ to { stroke-dashoffset: 0; } }
.gmc .hero-lead {font-size: clamp(1.08rem, 1.35vw, 1.25rem); max-width: 540px; margin-top: 26px; line-height: 1.6;}
.gmc .hero-ctas {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px;}
.gmc .hero-proof {display: flex; align-items: center; gap: 18px; margin-top: 46px; padding-top: 28px; border-top: 1px solid var(--line); max-width: 540px;}
.gmc .hero-proof p {font-size: 14.5px; line-height: 1.5;}
.gmc .hero-proof strong {color: var(--ink); font-weight: 600;}
.gmc .avatars {display: flex; flex: none;}
.gmc .avatars img {width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 2.5px solid #fff; box-shadow: var(--shadow-sm);}
.gmc .avatars img + img {margin-left: -12px;}
.gmc .avatars.sm img {width: 40px; height: 40px; object-position: top;}
.gmc .hero-visual {position: relative; width: 100%; max-width: 580px; margin-left: auto; aspect-ratio: 1 / 1.04;}
.gmc .hv-orbit {position: absolute; inset: 4% -2% 2% 6%; border-radius: 50%; border: 1px dashed rgba(0, 87, 178, .22);}
.gmc .hv-orbit::after {content: ""; position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--royal); top: 14%; left: 12%; box-shadow: 0 0 0 6px rgba(0,87,178,.12);}
.gmc .hv-photo {position: absolute; inset: 7% 3% 11% 14%; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--shadow-lg); background: var(--royal-100);}
.gmc .hv-photo img {width: 100%; height: 100%; object-fit: cover; object-position: 45% 30%;}
.gmc .hv-photo::after {content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(11, 31, 70, .55), rgba(11, 31, 70, 0) 42%);}
.gmc .hv-tag {position: absolute; z-index: 1; right: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 500; color: #fff; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.24); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);}
.gmc [data-depth] {will-change: transform;}
.gmc .hv-card {position: absolute; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-lg);}
.gmc .hv-card > * {pointer-events: none;}
.gmc .hv-google {left: 0; bottom: 3%; width: min(278px, 54%); padding: 16px; animation: gmc-float 7s ease-in-out infinite;}
.gmc .gb-top {display: flex; align-items: center; gap: 12px;}
.gmc .gb-ico {width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--royal-50); color: var(--royal);}
.gmc .gb-ico .i {width: 24px; height: 24px;}
.gmc .gb-label {display: block; font-size: 11.5px; color: var(--muted); font-weight: 500;}
.gmc .gb-name {display: block; font-size: 16px; font-weight: 600; color: var(--ink); letter-spacing: -.01em;}
.gmc .gb-meta {font-size: 12.5px; color: var(--muted); margin: 12px 0 14px;}
.gmc .gb-open {color: var(--royal); font-weight: 600;}
.gmc .gb-actions {display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding-top: 14px; border-top: 1px solid var(--line);}
.gmc .gb-actions span {display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 500; color: var(--ink);}
.gmc .gb-actions i {width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line); color: var(--royal);}
.gmc .gb-actions .i {width: 16px; height: 16px;}
.gmc .hv-chat {right: -4%; top: 44%; width: min(262px, 44%); padding: 14px; animation: gmc-float 8s ease-in-out -2s infinite;}
.gmc .chat-head {display: flex; align-items: center; gap: 10px; margin-bottom: 12px;}
.gmc .chat-ico {width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--wa); color: #fff;}
.gmc .chat-ico .i {width: 19px; height: 19px;}
.gmc .chat-name {display: block; font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.2;}
.gmc .chat-sub {display: block; font-size: 12px; color: var(--muted);}
.gmc .chat-bubble {position: relative; background: var(--royal-50); border-radius: 4px 16px 16px 16px; padding: 11px 13px 24px; font-size: 13.5px; line-height: 1.45; color: var(--ink);}
.gmc .chat-time {position: absolute; right: 10px; bottom: 6px; display: inline-flex; align-items: center; gap: 3px; font-size: 10.5px; color: var(--muted);}
.gmc .chat-time .i {width: 15px; height: 15px; color: var(--royal); stroke-width: 2;}
.gmc .hv-badge {position: absolute; left: 3%; top: 9%; width: 116px; height: 116px; border-radius: 50%; background: #fff; box-shadow: var(--shadow-lg); display: grid; place-items: center; transition: box-shadow .3s;}
.gmc .hv-badge-ring {position: absolute; inset: 0; width: 100%; height: 100%; animation: gmc-spin 22s linear infinite;}
.gmc .hv-badge-ring text {font-family: var(--font); font-size: 9.6px; font-weight: 600; letter-spacing: .5px; fill: var(--ink);}
.gmc .hv-badge-core {width: 50px; height: 50px; border-radius: 50%; background: var(--navy); color: #fff; display: grid; place-items: center; transition: background-color .3s, transform .4s var(--ease);}
.gmc .hv-badge:hover .hv-badge-core {background: var(--royal); transform: scale(1.08);}
.gmc .hv-badge:hover .hv-badge-core .i {animation: gmc-nudge 1s var(--ease) infinite;}
@keyframes gmc-spin{ to { transform: rotate(360deg); } }
@keyframes gmc-float{ 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
@keyframes gmc-nudge{ 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4px); } }
.gmc .logos {padding: 34px 0 10px;}
.gmc .logos-head {display: flex; align-items: center; gap: 20px; font-size: 14px; font-weight: 500; color: var(--muted); margin-bottom: 26px; white-space: nowrap;}
.gmc .logos-head::before, .gmc .logos-head::after {content: ""; height: 1px; flex: 1; background: var(--line);}
.gmc .marquee {overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); padding: 8px 0;}
.gmc .marquee-track {display: flex; width: max-content; animation: gmc-marquee 70s linear infinite;}
.gmc .marquee:hover .marquee-track {animation-play-state: paused;}
.gmc .marquee-set {display: flex; gap: 26px; padding-right: 26px;}
.gmc .logo-chip {width: 76px; height: 76px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px var(--line); filter: grayscale(1); opacity: .74; transition: filter .4s var(--ease), opacity .4s var(--ease), transform .4s var(--ease), box-shadow .4s;}
.gmc .logo-chip:hover {filter: none; opacity: 1; transform: translateY(-3px) scale(1.06); box-shadow: 0 0 0 1px var(--royal-200), var(--shadow-md);}
@keyframes gmc-marquee{ to { transform: translateX(-50%); } }
.gmc .problem-grid {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(40px, 6vw, 88px); align-items: center;}
.gmc .seg {position: relative; display: inline-flex; padding: 5px; margin-top: 36px; border-radius: 999px; background: var(--soft); border: 1px solid var(--line);}
.gmc .seg-thumb {position: absolute; top: 5px; bottom: 5px; left: 0; width: 0; border-radius: 999px; background: var(--navy); box-shadow: var(--shadow-md); transition: transform .55s var(--ease-out), width .55s var(--ease-out), background-color .45s var(--ease);}
.gmc .seg.is-solution .seg-thumb {background: var(--royal);}
.gmc .seg button {position: relative; z-index: 1; height: 44px; padding: 0 20px; border-radius: 999px; font-size: 14.5px; font-weight: 600; color: var(--muted); transition: color .35s var(--ease); white-space: nowrap;}
.gmc .seg button:hover {color: var(--ink);}
.gmc .seg button[aria-pressed="true"] {color: #fff;}
.gmc .no-js-thumb .seg button[aria-pressed="true"] {background: var(--navy);}
.gmc .compare-card {position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: 12px; box-shadow: var(--shadow-lg);}
.gmc .compare-item {display: grid; grid-template-columns: 48px 1fr; gap: 18px; align-items: center; padding: 20px 18px; border-bottom: 1px solid var(--line);}
.gmc .compare-item:last-child {border-bottom: 0;}
.gmc .ci-ico {position: relative; width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: var(--soft); color: var(--muted); transition: background-color .45s var(--ease), color .45s var(--ease), transform .5s var(--ease-out); transition-delay: calc(var(--i, 0) * 70ms);}
.gmc .ci-ico .i {position: absolute; width: 20px; height: 20px; stroke-width: 2; transition: transform .5s var(--ease-out), opacity .3s var(--ease); transition-delay: calc(var(--i, 0) * 70ms);}
.gmc .ci-ok {opacity: 0; transform: scale(.3) rotate(-45deg);}
.gmc .ci-text {display: grid;}
.gmc .ci-text > span {grid-area: 1 / 1; font-size: 16.5px; line-height: 1.45; transition: opacity .4s var(--ease), transform .55s var(--ease-out), filter .4s; transition-delay: calc(var(--i, 0) * 70ms);}
.gmc .ci-text .prob {color: var(--body);}
.gmc .ci-text .sol {color: var(--ink); font-weight: 500; opacity: 0; transform: translateY(12px); filter: blur(4px);}
.gmc .compare-card.is-solution .ci-ico {background: var(--royal); color: #fff; transform: rotate(-8deg);}
.gmc .compare-card.is-solution .ci-x {opacity: 0; transform: scale(.3) rotate(45deg);}
.gmc .compare-card.is-solution .ci-ok {opacity: 1; transform: none;}
.gmc .compare-card.is-solution .ci-text .prob {opacity: 0; transform: translateY(-12px); filter: blur(4px);}
.gmc .compare-card.is-solution .ci-text .sol {opacity: 1; transform: none; filter: none;}
.gmc .compare-foot {--i: 4; margin: 6px; padding: 18px 20px; border-radius: 20px; background: var(--soft); display: flex; align-items: center; gap: 14px; transition: background-color .5s var(--ease);}
.gmc .compare-foot .ci-text > span {font-weight: 600; color: var(--ink); font-size: 15.5px;}
.gmc .cf-dot {width: 10px; height: 10px; border-radius: 50%; background: var(--muted); flex: none; transition: background-color .5s, box-shadow .5s;}
.gmc .compare-card.is-solution .compare-foot {background: var(--royal-50);}
.gmc .compare-card.is-solution .compare-foot .sol {color: var(--royal);}
.gmc .compare-card.is-solution .cf-dot {background: var(--royal); box-shadow: 0 0 0 5px rgba(0,87,178,.15);}
.gmc .services {background: var(--soft);}
.gmc .bento {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;}
.gmc .svc {position: relative; isolation: isolate; overflow: hidden;
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 12px 12px 28px;
  transition: transform .5s var(--ease-out), box-shadow .5s var(--ease), border-color .4s var(--ease);}
.gmc .svc::before {content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; background: radial-gradient(480px circle at var(--mx, 50%) var(--my, 0%), rgba(0, 87, 178, .07), transparent 60%); transition: opacity .4s var(--ease);}
.gmc .svc:hover {transform: translateY(-5px); border-color: var(--royal-100); box-shadow: var(--shadow-lg);}
.gmc .svc:hover::before {opacity: 1;}
.gmc .svc--wide {grid-column: span 2; flex-direction: row; align-items: stretch; gap: 8px; padding: 12px;}
.gmc .svc--wide .svc-ill {flex: 1.15 1 0; height: auto; min-height: 300px; margin: 0;}
.gmc .svc--wide .svc-body {flex: 1 1 0; padding: 22px 22px 18px 26px;}
.gmc .svc-ill {position: relative; height: 232px; border-radius: 18px; background: var(--royal-50); overflow: hidden; margin-bottom: 24px;}
.gmc .svc-body {display: flex; flex-direction: column; flex: 1; padding: 0 14px;}
.gmc .svc-kicker {display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 500; color: var(--muted); margin-bottom: 12px;}
.gmc .svc-kicker span {font-family: var(--serif); font-style: italic; font-size: 17px; color: var(--royal);}
.gmc .svc-kicker.light {color: var(--royal-300); letter-spacing: .12em; text-transform: uppercase; font-size: 12px; font-weight: 600;}
.gmc .svc h3 {font-size: 1.4rem; margin-bottom: 10px;}
.gmc .svc-body > p {font-size: 15.5px; line-height: 1.55;}
.gmc .svc-tags {display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px;}
.gmc .svc-tags li {font-size: 12.5px; font-weight: 500; color: var(--ink); padding: 5px 11px; border-radius: 999px; background: var(--soft); border: 1px solid var(--line);}
.gmc .svc-link {margin-top: auto; padding-top: 24px; display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--royal); align-self: flex-start;}
.gmc .svc-link::after {content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit;}
.gmc .svc-arrow {width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--royal-50); transition: background-color .35s var(--ease), color .35s, transform .5s var(--ease-out);}
.gmc .svc-arrow .i {width: 16px; height: 16px; stroke-width: 2;}
.gmc .svc:hover .svc-arrow {background: var(--royal); color: #fff; transform: rotate(45deg);}
.gmc .svc--cta {background: var(--navy); border-color: var(--navy); padding: 32px; justify-content: space-between; gap: 32px; color: rgba(255,255,255,.72);}
.gmc .svc--cta h3 {color: #fff; font-size: 1.65rem; margin-bottom: 12px;}
.gmc .svc--cta p {font-size: 15.5px;}
.gmc .svc--cta:hover {border-color: var(--navy);}
.gmc .svc--cta::before {background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(127, 176, 240, .14), transparent 60%);}
.gmc .svc--cta .btn {align-self: flex-start; position: relative; z-index: 2;}
.gmc .svc--cta .btn .i {color: var(--wa);}
.gmc .cta-rings {position: absolute; right: -90px; bottom: -90px; width: 260px; height: 260px; border-radius: 50%; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 0 0 30px rgba(255,255,255,.025), 0 0 0 60px rgba(255,255,255,.02); z-index: -1; transition: transform .8s var(--ease-out);}
.gmc .svc--cta:hover .cta-rings {transform: scale(1.08);}
.gmc .iw-browser {position: absolute; left: 7%; top: 30px; right: 20%; bottom: -24px; background: #fff; border-radius: 14px 14px 0 0; box-shadow: 0 24px 48px -22px rgba(11, 31, 70, .38), 0 0 0 1px rgba(11, 31, 70, .06); transition: transform .7s var(--ease-out);}
.gmc .iw-bar {height: 30px; display: flex; align-items: center; gap: 5px; padding: 0 12px; border-bottom: 1px solid var(--line);}
.gmc .iw-bar i {width: 7px; height: 7px; border-radius: 50%; background: var(--line);}
.gmc .iw-url {margin-left: 10px; height: 17px; padding: 0 10px; border-radius: 6px; background: var(--soft); font-size: 9.5px; font-weight: 500; color: var(--muted); display: flex; align-items: center;}
.gmc .iw-page {padding: 14px 18px;}
.gmc .iw-nav {display: flex; align-items: center; gap: 8px; margin-bottom: 20px;}
.gmc .iw-nav b {width: 46px; height: 9px; border-radius: 5px; background: var(--navy);}
.gmc .iw-nav span {width: 24px; height: 5px; border-radius: 3px; background: var(--line);}
.gmc .iw-nav span:first-of-type {margin-left: auto;}
.gmc .iw-nav em {width: 42px; height: 16px; border-radius: 8px; background: var(--royal);}
.gmc .iw-hero {display: grid; grid-template-columns: 1.05fr 1fr; gap: 16px; align-items: center;}
.gmc .iw-copy span {display: block; height: 10px; border-radius: 5px; background: var(--navy); margin-bottom: 7px; transition: width .7s var(--ease-out);}
.gmc .iw-copy .l1 {width: 92%;}
.gmc .iw-copy .l2 {width: 64%;}
.gmc .iw-copy .l3, .gmc .iw-copy .l4 {height: 5px; background: var(--line); margin-top: 0;}
.gmc .iw-copy .l3 {width: 86%; margin-top: 12px;}
.gmc .iw-copy .l4 {width: 70%;}
.gmc .iw-copy .iw-btn {width: 60px; height: 18px; border-radius: 9px; background: var(--royal); margin-top: 12px; transform-origin: left center;}
.gmc .iw-media {position: relative; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--royal-100); transition: background-color .7s var(--ease);}
.gmc .iw-media .sun {position: absolute; width: 22%; aspect-ratio: 1; border-radius: 50%; background: #fff; right: 16%; top: 16%; transition: transform .8s var(--ease-out);}
.gmc .iw-media .hill {position: absolute; bottom: -30%; border-radius: 50%;}
.gmc .iw-media .hl1 {width: 90%; height: 80%; left: -20%; background: var(--royal-200);}
.gmc .iw-media .hl2 {width: 100%; height: 75%; right: -35%; background: var(--royal-400); transition: transform .8s var(--ease-out);}
.gmc .iw-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 18px;}
.gmc .iw-cards span {height: 40px; border-radius: 8px; background: var(--soft); border: 1px solid var(--line); transition: transform .7s var(--ease-out);}
.gmc .iw-phone {position: absolute; right: 6%; bottom: -16px; width: 88px; height: 160px; border-radius: 18px; background: var(--navy); padding: 5px; box-shadow: 0 24px 34px -14px rgba(11, 31, 70, .5); transition: transform .8s var(--ease-out);}
.gmc .iw-phone-screen {height: 100%; border-radius: 13px; background: #fff; padding: 16px 8px; display: flex; flex-direction: column; gap: 6px;}
.gmc .iw-phone .m1 {height: 7px; width: 62%; border-radius: 4px; background: var(--navy);}
.gmc .iw-phone .m2 {height: 46px; border-radius: 7px; background: var(--royal-100);}
.gmc .iw-phone .m3 {height: 4px; width: 86%; border-radius: 2px; background: var(--line);}
.gmc .iw-phone .m3.s {width: 60%;}
.gmc .iw-phone .m4 {height: 14px; width: 56%; border-radius: 7px; background: var(--royal); margin-top: auto;}
.gmc .iw-copy {position: relative;}
.gmc .iw-cursor {position: absolute; z-index: 3; width: 26px; height: 26px; left: 150%; top: calc(100% + 70px); color: var(--navy); filter: drop-shadow(0 3px 4px rgba(11,31,70,.25)); transition: left .9s var(--ease-out), top .9s var(--ease-out);}
.gmc .svc:hover .iw-browser, .gmc .svc.is-active .iw-browser {transform: translateY(-8px);}
.gmc .svc:hover .iw-phone, .gmc .svc.is-active .iw-phone {transform: translateY(-14px) rotate(-4deg);}
.gmc .svc:hover .iw-media, .gmc .svc.is-active .iw-media {background: #cfe0f6;}
.gmc .svc:hover .iw-media .hl2, .gmc .svc.is-active .iw-media .hl2 {transform: translateX(-12%);}
.gmc .svc:hover .iw-media .sun, .gmc .svc.is-active .iw-media .sun {transform: translateY(-20%) scale(1.1);}
.gmc .svc:hover .iw-copy .l2, .gmc .svc.is-active .iw-copy .l2 {width: 82%;}
.gmc .svc:hover .iw-cards span:nth-child(2), .gmc .svc.is-active .iw-cards span:nth-child(2) {transform: translateY(-4px);}
.gmc .svc:hover .iw-cursor, .gmc .svc.is-active .iw-cursor {left: 24px; top: calc(100% - 13px);}
.gmc .svc:hover .iw-btn, .gmc .svc.is-active .iw-btn {animation: gmc-press .5s .85s var(--ease) both;}
@keyframes gmc-press{ 50% { transform: scale(.88); background: var(--royal-600); } }
.gmc .map-svg {position: absolute; inset: 0; width: 100%; height: 100%; transition: transform 1.2s var(--ease-out);}
.gmc .svc:hover .map-svg, .gmc .svc.is-active .map-svg {transform: scale(1.06);}
.gmc .map-search {position: absolute; left: 14px; right: 14px; top: 14px; height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 14px; border-radius: 999px; background: #fff; box-shadow: var(--shadow-md); font-size: 12.5px; color: var(--muted);}
.gmc .map-search .i {color: var(--royal);}
.gmc .map-pin {position: absolute; left: 50%; top: 66%; width: 44px; height: 44px; transform: translate(-50%, -100%); color: var(--royal); transition: transform .6s var(--ease-out);}
.gmc .map-pin > .i {position: relative; width: 44px; height: 44px; filter: drop-shadow(0 6px 8px rgba(0, 87, 178, .35));}
.gmc .map-pin .pulse {position: absolute; left: 50%; bottom: -6px; width: 40px; height: 14px; margin-left: -20px; border-radius: 50%; background: rgba(0, 87, 178, .25); opacity: 0;}
.gmc .svc:hover .map-pin, .gmc .svc.is-active .map-pin {transform: translate(-50%, calc(-100% - 6px));}
.gmc .svc:hover .map-pin .pulse, .gmc .svc.is-active .map-pin .pulse {animation: gmc-ripple 1.8s var(--ease) infinite;}
.gmc .svc:hover .map-pin .p2, .gmc .svc.is-active .map-pin .p2 {animation-delay: .9s;}
@keyframes gmc-ripple{ 0% { opacity: .8; transform: scale(.4); } 100% { opacity: 0; transform: scale(2.6); } }
.gmc .map-card {position: absolute; left: 50%; top: 27%; display: flex; flex-direction: column; padding: 8px 14px; border-radius: 12px; background: #fff; box-shadow: var(--shadow-md); white-space: nowrap; opacity: 0; transform: translate(-50%, 10px) scale(.94); transition: opacity .4s var(--ease), transform .55s var(--ease-out);}
.gmc .map-card b {font-size: 13px; color: var(--ink); font-weight: 600;}
.gmc .map-card span {font-size: 11.5px; color: var(--royal); font-weight: 500;}
.gmc .svc:hover .map-card, .gmc .svc.is-active .map-card {opacity: 1; transform: translate(-50%, 0) scale(1); transition-delay: .15s;}
.gmc .ill-ads {background: linear-gradient(180deg, var(--royal-50), #fff);}
.gmc .ads-chip {position: absolute; left: 16px; top: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px; background: #fff; box-shadow: var(--shadow-sm); font-size: 12px; color: var(--muted); font-weight: 500; z-index: 2;}
.gmc .ads-chip b {background: var(--navy); color: #fff; font-size: 10.5px; font-weight: 600; padding: 3px 8px; border-radius: 999px;}
.gmc .ads-bars {position: absolute; left: 18px; right: 18px; bottom: 0; height: 64%; display: flex; align-items: flex-end; gap: 7px;}
.gmc .ads-bars i {flex: 1; height: var(--h); border-radius: 8px 8px 0 0; background: var(--royal-100); transform-origin: bottom; transform: scaleY(.55); transition: transform .8s var(--ease-out), background-color .5s var(--ease); transition-delay: calc(var(--i) * 45ms);}
.gmc .ads-bars i:nth-last-child(-n+2) {background: var(--royal-200);}
.gmc .svc:hover .ads-bars i, .gmc .svc.is-active .ads-bars i {transform: scaleY(1);}
.gmc .svc:hover .ads-bars i:nth-last-child(-n+2), .gmc .svc.is-active .ads-bars i:nth-last-child(-n+2) {background: var(--royal);}
.gmc .ads-line {position: absolute; left: 18px; right: 18px; top: 26%; height: 52%; width: calc(100% - 36px); overflow: visible;}
.gmc .ads-line path {fill: none; stroke: var(--navy); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.3s var(--ease-out) .2s;}
.gmc .svc:hover .ads-line path, .gmc .svc.is-active .ads-line path {stroke-dashoffset: 0;}
.gmc .so-phone {position: absolute; left: 50%; top: 22px; bottom: -40px; width: 178px; margin-left: -89px; background: #fff; border-radius: 24px 24px 0 0; padding: 14px 12px; box-shadow: 0 24px 40px -18px rgba(11,31,70,.35), 0 0 0 1px rgba(11,31,70,.05); transition: transform .7s var(--ease-out);}
.gmc .so-head {display: flex; align-items: center; gap: 8px; margin-bottom: 12px;}
.gmc .so-ava {width: 30px; height: 30px; border-radius: 50%; background: var(--royal); box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--royal-200);}
.gmc .so-lines {flex: 1; display: grid; gap: 4px;}
.gmc .so-lines i {height: 5px; border-radius: 3px; background: var(--line);}
.gmc .so-lines i:first-child {width: 80%; background: var(--navy);}
.gmc .so-follow {font-size: 9.5px; font-weight: 600; color: #fff; background: var(--royal); padding: 4px 9px; border-radius: 999px;}
.gmc .so-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px;}
.gmc .so-grid i {aspect-ratio: 1; border-radius: 6px; display: grid; place-items: center; transition: transform .6s var(--ease-out);}
.gmc .so-grid .t1 {background: var(--navy);}
.gmc .so-grid .t2 {background: var(--royal); color: #fff;}
.gmc .so-grid .t2 .i {width: 14px; height: 14px;}
.gmc .so-grid .t3 {background: var(--royal-100);}
.gmc .so-grid .t4 {background: var(--royal-200);}
.gmc .so-grid .t5 {background: var(--royal-50); border: 1px solid var(--line);}
.gmc .so-grid .t6 {background: var(--royal-100) 40% 40% / cover;}
.gmc .so-like {position: absolute; right: 16%; top: 30%; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--royal); box-shadow: var(--shadow-md); opacity: 0; transform: scale(.4) rotate(-20deg); transition: opacity .3s var(--ease), transform .6s cubic-bezier(.34, 1.56, .64, 1);}
.gmc .so-like .i {width: 22px; height: 22px; fill: var(--royal); stroke: var(--royal);}
.gmc .so-comment {position: absolute; left: 7%; bottom: 22%; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: var(--navy); color: #fff; font-size: 11.5px; font-weight: 500; box-shadow: var(--shadow-md); opacity: 0; transform: translateX(-14px); transition: opacity .4s var(--ease), transform .6s var(--ease-out);}
.gmc .svc:hover .so-phone, .gmc .svc.is-active .so-phone {transform: translateY(-10px);}
.gmc .svc:hover .so-grid .t1, .gmc .svc.is-active .so-grid .t1 {transform: scale(.92);}
.gmc .svc:hover .so-like, .gmc .svc.is-active .so-like {opacity: 1; transform: none; transition-delay: .1s;}
.gmc .svc:hover .so-comment, .gmc .svc.is-active .so-comment {opacity: 1; transform: none; transition-delay: .25s;}
.gmc .ill-brand {background: var(--soft); background-image: radial-gradient(rgba(0, 87, 178, .14) 1px, transparent 1px); background-size: 16px 16px;}
.gmc .br-type {position: absolute; right: 20px; top: 10px; font-family: var(--serif); font-style: italic; font-size: 64px; line-height: 1; color: var(--navy); transition: transform .7s var(--ease-out);}
.gmc .br-pen {position: absolute; left: 16px; top: 24px; width: 58%; height: auto; overflow: visible;}
.gmc .br-pen .br-curve {fill: none; stroke: var(--royal); stroke-width: 2;}
.gmc .br-pen .br-handle {fill: none; stroke: var(--muted); stroke-width: 1; stroke-dasharray: 3 3;}
.gmc .br-pen circle {fill: #fff; stroke: var(--royal); stroke-width: 2;}
.gmc .br-pen circle.h {fill: var(--royal); stroke: none;}
.gmc .br-swatches {position: absolute; left: 50%; bottom: 22px; display: flex; transform: translateX(-50%);}
.gmc .sw {position: relative; width: 92px; height: 92px; border-radius: 50%; box-shadow: var(--shadow-md); transition: margin .7s var(--ease-out), transform .7s var(--ease-out);}
.gmc .sw + .sw {margin-left: -30px;}
.gmc .sw em {position: absolute; left: 50%; bottom: -4px; transform: translate(-50%, 6px); font-style: normal; font-size: 10.5px; font-weight: 600; white-space: nowrap; padding: 3px 8px; border-radius: 999px; background: #fff; color: var(--ink); box-shadow: var(--shadow-sm); opacity: 0; transition: opacity .4s var(--ease), transform .5s var(--ease-out);}
.gmc .sw-navy {background: var(--navy); z-index: 3;}
.gmc .sw-royal {background: var(--royal); z-index: 2;}
.gmc .sw-white {background: #fff; border: 1px solid var(--line); z-index: 1;}
.gmc .svc:hover .sw + .sw, .gmc .svc.is-active .sw + .sw {margin-left: 10px;}
.gmc .svc:hover .sw-navy, .gmc .svc.is-active .sw-navy {transform: translateY(-6px);}
.gmc .svc:hover .sw-white, .gmc .svc.is-active .sw-white {transform: translateY(-6px);}
.gmc .svc:hover .sw em, .gmc .svc.is-active .sw em {opacity: 1; transform: translate(-50%, 0); transition-delay: .2s;}
.gmc .svc:hover .br-type, .gmc .svc.is-active .br-type {transform: rotate(-8deg) scale(1.05);}
.gmc .ill-video {background: var(--navy);}
.gmc .ill-video::before {content: ""; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 32px 32px;}
.gmc .vd-frame {position: absolute; border-radius: 14px; overflow: hidden;}
.gmc .vd-h {left: 6%; top: 50%; width: 62%; aspect-ratio: 16 / 9.4; transform: translateY(-52%); background: linear-gradient(140deg, var(--navy-600), var(--royal) 130%); box-shadow: 0 24px 40px -18px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.08); transition: transform .7s var(--ease-out);}
.gmc .vd-rec {position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 6px; font-size: 10.5px; font-weight: 600; color: #fff; letter-spacing: .04em; padding: 4px 9px; border-radius: 999px; background: rgba(255,255,255,.12);}
.gmc .vd-rec i {width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: gmc-blink 1.6s ease-in-out infinite;}
@keyframes gmc-blink{ 50% { opacity: .25; } }
.gmc .vd-play {position: absolute; left: 50%; top: 44%; width: 54px; height: 54px; margin: -27px 0 0 -27px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--royal); box-shadow: 0 0 0 10px rgba(255,255,255,.12); transition: transform .5s var(--ease-out), box-shadow .5s;}
.gmc .vd-play .i {width: 22px; height: 22px; margin-left: 3px;}
.gmc .vd-play.sm {width: 34px; height: 34px; margin: -17px 0 0 -17px; box-shadow: 0 0 0 6px rgba(255,255,255,.12);}
.gmc .vd-play.sm .i {width: 14px; height: 14px; margin-left: 2px;}
.gmc .vd-wave {position: absolute; left: 14px; right: 14px; bottom: 24px; height: 26px; display: flex; align-items: center; gap: 3px;}
.gmc .vd-wave i {flex: 1; height: 30%; border-radius: 2px; background: rgba(255,255,255,.35); transform-origin: center;}
.gmc .vd-wave i:nth-child(3n) {height: 70%;}
.gmc .vd-wave i:nth-child(4n) {height: 50%;}
.gmc .vd-wave i:nth-child(5n) {height: 90%;}
.gmc .vd-wave i:nth-child(7n) {height: 40%;}
.gmc .vd-timeline {position: absolute; left: 14px; right: 14px; bottom: 12px; height: 3px; border-radius: 2px; background: rgba(255,255,255,.2);}
.gmc .vd-progress {position: absolute; left: 0; top: 0; bottom: 0; width: 28%; border-radius: 2px; background: #fff; transition: width 2.6s linear;}
.gmc .vd-progress::after {content: ""; position: absolute; right: -5px; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,.2);}
.gmc .vd-v {right: 7%; top: 50%; width: 21%; aspect-ratio: 9 / 16; transform: translateY(-46%) rotate(4deg); background: linear-gradient(170deg, var(--royal), var(--navy-600)); box-shadow: 0 24px 40px -18px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.1); transition: transform .8s var(--ease-out);}
.gmc .vd-v-top {position: absolute; left: 10px; right: 30%; top: 12px; height: 5px; border-radius: 3px; background: rgba(255,255,255,.5);}
.gmc .vd-v-cap {position: absolute; left: 10px; right: 10px; bottom: 14px; display: grid; gap: 4px;}
.gmc .vd-v-cap i {height: 5px; border-radius: 3px; background: rgba(255,255,255,.75);}
.gmc .vd-v-cap i + i {width: 60%; background: rgba(255,255,255,.45);}
.gmc .vd-langs {position: absolute; left: 6%; bottom: 16px; display: flex; gap: 6px;}
.gmc .vd-langs span {font-size: 11px; font-weight: 600; color: #fff; padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06);}
.gmc .svc:hover .vd-h, .gmc .svc.is-active .vd-h {transform: translateY(-54%) scale(1.02);}
.gmc .svc:hover .vd-v, .gmc .svc.is-active .vd-v {transform: translateY(-50%) rotate(0deg);}
.gmc .svc:hover .vd-play, .gmc .svc.is-active .vd-play {transform: scale(1.08); box-shadow: 0 0 0 16px rgba(255,255,255,.08);}
.gmc .svc:hover .vd-progress, .gmc .svc.is-active .vd-progress {width: 86%;}
.gmc .svc:hover .vd-wave i, .gmc .svc.is-active .vd-wave i {animation: gmc-eq 1s ease-in-out infinite;}
.gmc .vd-wave i:nth-child(2n) {animation-delay: -.3s !important;}
.gmc .vd-wave i:nth-child(3n) {animation-delay: -.6s !important;}
.gmc .vd-wave i:nth-child(5n) {animation-delay: -.15s !important;}
@keyframes gmc-eq{ 50% { transform: scaleY(.35); } }
.gmc .work-grid {display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 56px 28px;}
.gmc .work {grid-column: span 5;}
.gmc .work--wide {grid-column: span 7;}
.gmc .work-media {position: relative; overflow: hidden; border-radius: var(--r-lg); background: var(--soft); aspect-ratio: 1.08; border: 1px solid var(--line);}
.gmc .work--wide .work-media {aspect-ratio: 1.5;}
.gmc .work-media img {width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out);}
.gmc .work-media img.is-mockup {object-position: center 55%;}
.gmc .work:hover .work-media img {transform: scale(1.045);}
.gmc .work-idx {position: absolute; z-index: 2; left: 16px; top: 16px; font-size: 12px; font-weight: 600; letter-spacing: .04em; color: var(--ink); padding: 6px 11px; border-radius: 999px; background: rgba(255,255,255,.85); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid var(--line);}
.gmc .work-cursor {position: absolute; z-index: 3; left: 0; top: 0; width: 104px; height: 104px; border-radius: 50%; display: grid; place-items: center; text-align: center; background: var(--royal); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.2; pointer-events: none; box-shadow: 0 14px 30px -10px rgba(0, 87, 178, .6); transform: translate3d(var(--x, 0), var(--y, 0), 0) scale(0); transition: transform .45s var(--ease-out);}
.gmc .work-media.is-hover .work-cursor {transform: translate3d(var(--x, 0), var(--y, 0), 0) scale(1);}
html.gmc-fine .gmc .work-media {cursor: none;}
.gmc .work-meta {margin-top: 22px;}
.gmc .work-type {font-size: 13.5px; font-weight: 500; color: var(--muted); margin-bottom: 6px;}
.gmc .work-meta h3 {font-size: 1.5rem; margin-bottom: 8px; transition: color .3s;}
.gmc .work:hover .work-meta h3 {color: var(--royal);}
.gmc .work-desc {font-size: 15.5px; max-width: 46ch;}
.gmc .work-tags {display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px;}
.gmc .work-tags li {font-size: 12.5px; font-weight: 500; color: var(--ink); padding: 5px 11px; border-radius: 999px; border: 1px solid var(--line); white-space: nowrap;}
.gmc .portfolio-foot {margin-top: 72px; padding: 28px 28px 28px 34px; border-radius: var(--r-lg); background: var(--soft); border: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;}
.gmc .portfolio-foot p {font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 600; color: var(--ink); letter-spacing: -.02em;}
.gmc .about {background: var(--navy); color: rgba(255,255,255,.7); overflow: clip;}
.gmc .about h2 {color: #fff;}
.gmc .about .accent {color: var(--royal-300);}
.gmc .about-deco {position: absolute; inset: 0; pointer-events: none;}
.gmc .about-grid {position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 60% 70% at 85% 10%, #000 20%, transparent 70%); mask-image: radial-gradient(ellipse 60% 70% at 85% 10%, #000 20%, transparent 70%);}
.gmc .about .gmc-wrap {position: relative;}
.gmc .about-mark {position: absolute; right: -40px; top: 50%; width: 460px; height: 420px; transform: translateY(-58%); background: center top / 460px auto no-repeat; filter: brightness(0) invert(1); opacity: .045;}
.gmc .about-top {display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; align-items: end;}
.gmc .about-intro p {font-size: 18px; line-height: 1.6;}
.gmc .link-light {display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; color: #fff; font-weight: 600; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,.3); padding-bottom: 3px; transition: border-color .3s, gap .3s var(--ease);}
.gmc .link-light:hover {border-color: #fff; gap: 12px;}
.gmc .features {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(56px, 7vw, 88px); border-top: 1px solid rgba(255,255,255,.12);}
.gmc .feature {padding: 36px 28px 6px 0;}
.gmc .feature + .feature {padding-left: 28px; border-left: 1px solid rgba(255,255,255,.12);}
.gmc .feature-ico {width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: var(--royal-300); margin-bottom: 26px; transition: background-color .4s var(--ease), color .4s, transform .5s var(--ease-out), border-color .4s;}
.gmc .feature-ico .i {width: 23px; height: 23px;}
.gmc .feature:hover .feature-ico {background: var(--royal); color: #fff; border-color: var(--royal); transform: translateY(-4px) rotate(-6deg);}
.gmc .feature h3 {color: #fff; font-size: 1.15rem; margin-bottom: 10px;}
.gmc .feature p {font-size: 15px; line-height: 1.6;}
.gmc .team-grid {display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px;}
.gmc .member-photo {position: relative; aspect-ratio: 4 / 5; border-radius: 22px; overflow: hidden; background: var(--soft);}
.gmc .member-photo img {width: 100%; height: 100%; object-fit: cover; object-position: center 22%; transition: transform .9s var(--ease-out), filter .6s; filter: saturate(.92);}
.gmc .member-photo::after {content: ""; position: absolute; inset: auto 0 0 0; height: 4px; background: var(--royal); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease-out);}
.gmc .member:hover .member-photo img {transform: scale(1.05); filter: none;}
.gmc .member:hover .member-photo::after {transform: scaleX(1);}
.gmc .member {position: relative;}
.gmc .member-photo::before {content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(11, 31, 70, .82), rgba(11, 31, 70, .25) 34%, rgba(11, 31, 70, 0) 52%); pointer-events: none;}
.gmc .member-photo::after {z-index: 2;}
.gmc .member figcaption {position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; padding: 18px 18px 20px;}
.gmc .member b {display: block; font-size: 17px; font-weight: 600; color: #fff; letter-spacing: -.015em;}
.gmc .member span {display: block; font-size: 13.5px; color: rgba(255,255,255,.78); margin-top: 2px;}
.gmc .process {background: var(--soft);}
.gmc .process-grid {display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 96px); align-items: start;}
.gmc .process-intro {position: sticky; top: 128px;}
.gmc .process-intro .btn {margin-top: 34px;}
.gmc .steps-wrap {position: relative;}
.gmc .steps-rail {position: absolute; left: 31px; top: 52px; bottom: 52px; width: 2px; border-radius: 2px; background: var(--line);}
.gmc .steps-fill {position: absolute; left: 0; right: 0; top: 0; height: var(--p, 0%); border-radius: 2px; background: var(--royal);}
.gmc .step {position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 22px; padding: 10px 0;}
.gmc .step-num {position: relative; z-index: 1; width: 64px; height: 64px; border-radius: 50%; margin-top: 10px; display: grid; place-items: center; background: #fff; border: 1px solid var(--line); font-family: var(--serif); font-style: italic; font-size: 25px; color: var(--muted); transition: background-color .45s var(--ease), color .45s, border-color .45s, box-shadow .45s;}
.gmc .step.is-done .step-num {background: var(--royal-50); border-color: var(--royal-100); color: var(--royal);}
.gmc .step.is-active .step-num {background: var(--royal); border-color: var(--royal); color: #fff; box-shadow: 0 0 0 8px rgba(0, 87, 178, .12);}
.gmc .step-card {padding: 24px 28px; border-radius: 22px; border: 1px solid transparent; transition: background-color .45s var(--ease), border-color .45s, box-shadow .45s, transform .6s var(--ease-out);}
.gmc .step.is-active .step-card {background: #fff; border-color: var(--line); box-shadow: var(--shadow-md); transform: translateX(6px);}
.gmc .step-card h3 {display: flex; align-items: center; gap: 10px; font-size: 1.3rem; margin-bottom: 8px;}
.gmc .step-card p {font-size: 15.5px;}
.gmc .chip {font-family: var(--font); font-size: 11.5px; font-weight: 600; letter-spacing: .02em; color: var(--royal); background: var(--royal-50); border: 1px solid var(--royal-100); padding: 3px 9px; border-radius: 999px;}
.gmc .testi-grid {display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 20px;}
.gmc .t-card {position: relative; display: flex; flex-direction: column; gap: 22px; padding: 30px; border-radius: var(--r-lg); background: var(--soft); border: 1px solid var(--line); transition: transform .5s var(--ease-out), box-shadow .5s, border-color .4s;}
.gmc .t-card:hover {transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--royal-100);}
.gmc .t-quote {width: 34px; height: 34px; color: var(--royal);}
.gmc .t-card blockquote {font-size: 16.5px; line-height: 1.6; color: var(--ink); flex: 1;}
.gmc .t-person {display: flex; align-items: center; gap: 14px; padding-top: 20px; border-top: 1px solid var(--line);}
.gmc .t-person img {width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: var(--shadow-sm);}
.gmc .t-person b {display: block; font-size: 15.5px; color: var(--ink); font-weight: 600;}
.gmc .t-person small {display: block; font-size: 13.5px; color: var(--muted);}
.gmc .t-card--feature {grid-row: span 2; background: var(--royal); border-color: var(--royal); padding: 40px; overflow: hidden;}
.gmc .t-card--feature::after {content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 0 0 36px rgba(255,255,255,.03), 0 0 0 72px rgba(255,255,255,.025); pointer-events: none;}
.gmc .t-card--feature:hover {border-color: var(--royal);}
.gmc .t-card--feature .t-quote {color: #fff; width: 44px; height: 44px; opacity: .9;}
.gmc .t-card--feature blockquote {font-family: var(--serif); font-size: clamp(1.6rem, 2.3vw, 2.05rem); line-height: 1.22; color: #fff; letter-spacing: -.005em;}
.gmc .t-card--feature .t-person {border-color: rgba(255,255,255,.2);}
.gmc .t-card--feature .t-person b {color: #fff;}
.gmc .t-card--feature .t-person small {color: rgba(255,255,255,.7);}
.gmc .t-card--wide {grid-column: span 2;}
.gmc .faq {background: var(--soft);}
.gmc .faq-grid {display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(40px, 6vw, 88px); align-items: start;}
.gmc .faq-aside {position: sticky; top: 128px;}
.gmc .faq-help {margin-top: 40px; padding: 22px; border-radius: 22px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm); display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px 16px; max-width: 440px;}
.gmc .faq-help .btn {grid-column: 1 / -1; width: 100%;}
.gmc .faq-help-title {font-weight: 600; color: var(--ink); font-size: 15.5px;}
.gmc .faq-help-text {font-size: 14px;}
.gmc .faq-help .btn .i {width: 18px; height: 18px;}
.gmc .faq-item {border-bottom: 1px solid var(--line);}
.gmc .faq-item:first-child {border-top: 1px solid var(--line);}
.gmc .faq-item h3 {font-size: inherit; letter-spacing: inherit;}
.gmc .faq-q {width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 4px; text-align: left; font-size: 1.15rem; font-weight: 600; color: var(--ink); letter-spacing: -.015em; line-height: 1.35; transition: color .25s;}
.gmc .faq-q:hover {color: var(--royal);}
.gmc .faq-ico {position: relative; flex: none; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: #fff; transition: background-color .35s var(--ease), border-color .35s, transform .5s var(--ease-out);}
.gmc .faq-ico::before, .gmc .faq-ico::after {content: ""; position: absolute; left: 50%; top: 50%; width: 13px; height: 1.8px; margin: -.9px 0 0 -6.5px; border-radius: 2px; background: var(--ink); transition: background-color .35s;}
.gmc .faq-ico::after {transform: rotate(90deg);}
.gmc .faq-item.is-open .faq-ico {background: var(--royal); border-color: var(--royal); transform: rotate(135deg);}
.gmc .faq-item.is-open .faq-ico::before, .gmc .faq-item.is-open .faq-ico::after {background: #fff;}
.gmc .faq-a {display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s var(--ease-out);}
.gmc .faq-a > div {overflow: hidden;}
.gmc .faq-item.is-open .faq-a {grid-template-rows: 1fr;}
.gmc .faq-a p {padding: 0 64px 28px 4px; font-size: 16.5px; line-height: 1.65;}
.gmc .contact {padding-top: clamp(84px, 9vw, 120px);}
.gmc .contact-panel {position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 64px); padding: clamp(28px, 5vw, 64px); border-radius: 36px; background: var(--royal); color: rgba(255,255,255,.82);}
.gmc .contact-deco {position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(to right, rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: radial-gradient(ellipse 60% 80% at 0% 100%, #000 10%, transparent 65%); mask-image: radial-gradient(ellipse 60% 80% at 0% 100%, #000 10%, transparent 65%);}
.gmc .contact-deco::after {content: ""; position: absolute; left: -140px; bottom: -140px; width: 380px; height: 380px; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 0 0 44px rgba(255,255,255,.035), 0 0 0 88px rgba(255,255,255,.025);}
.gmc .contact h2 {color: #fff;}
.gmc .contact .accent {color: #fff;}
.gmc .contact .lead {color: rgba(255,255,255,.82);}
.gmc .contact-methods {margin-top: 36px; display: grid; gap: 10px;}
.gmc .cm {display: flex; align-items: center; gap: 16px; padding: 12px 18px 12px 12px; border-radius: 20px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); color: #fff; transition: background-color .35s var(--ease), transform .45s var(--ease-out), border-color .35s;}
.gmc .cm:hover {background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.3); transform: translateX(6px);}
.gmc .cm-ico {width: 46px; height: 46px; flex: none; border-radius: 14px; display: grid; place-items: center; background: #fff; color: var(--royal);}
.gmc .cm-txt {min-width: 0; flex: 1;}
.gmc .cm small {display: block; font-size: 13px; color: rgba(255,255,255,.72);}
.gmc .cm b {display: block; font-size: 16.5px; font-weight: 600; letter-spacing: -.01em; overflow-wrap: anywhere;}
.gmc .cm-email {font-size: 15px !important;}
.gmc .cm-arrow {margin-left: auto; opacity: .6; transition: transform .45s var(--ease-out), opacity .3s;}
.gmc .cm:hover .cm-arrow {opacity: 1; transform: translate(2px, -2px);}
.gmc .form-card {background: #fff; border-radius: 26px; padding: clamp(24px, 3vw, 36px); box-shadow: 0 40px 80px -30px rgba(11, 31, 70, .55); color: var(--body); align-self: start;}
.gmc .form-title {font-size: 1.45rem; font-weight: 600; color: var(--ink); letter-spacing: -.025em; line-height: 1.2;}
.gmc .form-sub {font-size: 15px; margin-top: 6px;}
.gmc .form-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; margin: 26px 0 22px;}
.gmc .field--full {grid-column: 1 / -1;}
.gmc .field label {display: block; font-size: 13.5px; font-weight: 600; color: var(--ink); margin-bottom: 8px;}
.gmc .field input, .gmc .field select, .gmc .field textarea {width: 100%; height: 52px; padding: 0 16px;
  font: inherit; font-size: 15.5px; color: var(--ink);
  border-radius: 14px; border: 1px solid var(--line); background: var(--soft);
  transition: border-color .25s, background-color .25s, box-shadow .25s;
  -webkit-appearance: none; appearance: none;}
.gmc .field select {padding-right: 42px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6f92' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; text-overflow: ellipsis;}
.gmc .field select:invalid {color: var(--muted);}
.gmc .field textarea {height: auto; min-height: 112px; padding: 14px 16px; resize: vertical; line-height: 1.5;}
.gmc .field ::placeholder {color: #9aa6bf;}
.gmc .field input:hover, .gmc .field select:hover, .gmc .field textarea:hover {border-color: var(--royal-200);}
.gmc .field input:focus, .gmc .field select:focus, .gmc .field textarea:focus {outline: none; border-color: var(--royal); background: #fff; box-shadow: 0 0 0 4px rgba(0, 87, 178, .12);}
.gmc .field.has-error input, .gmc .field.has-error select {border-color: #c4314b; background: #fff;}
.gmc .field-error {font-size: 12.5px; color: #c4314b; margin-top: 6px; min-height: 0;}
.gmc .field-error:empty {display: none;}
.gmc .hp {position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden;}
.gmc .form-legal {font-size: 13px; color: var(--muted); text-align: center; margin-top: 14px;}
.gmc .form-legal a {color: var(--royal); text-decoration: underline; text-underline-offset: 3px;}
.gmc .btn.is-loading {pointer-events: none; opacity: .85;}
.gmc .btn.is-loading .btn-ico {animation: gmc-spin 1s linear infinite;}
.gmc .form-success {text-align: center; padding: 48px 12px;}
.gmc .form-success:focus {outline: none;}
.gmc .fs-ico {width: 72px; height: 72px; margin: 0 auto 22px; border-radius: 50%; display: grid; place-items: center; background: var(--royal); color: #fff; box-shadow: 0 0 0 10px var(--royal-50); animation: gmc-pop .6s cubic-bezier(.34, 1.56, .64, 1);}
.gmc .fs-ico .i {width: 34px; height: 34px; stroke-width: 2.2;}
@keyframes gmc-pop{ from { transform: scale(.4); opacity: 0; } }
.gmc .gmc-footer {position: relative; overflow: clip; background: var(--navy); color: rgba(255,255,255,.62); padding-top: clamp(72px, 8vw, 104px); margin-top: clamp(84px, 9vw, 120px);}
.gmc .footer-top {display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 40px; padding-bottom: 56px;}
.gmc .footer-brand img {height: 42px; width: auto;}
.gmc .footer-brand p {font-size: 15px; line-height: 1.65; margin-top: 22px; max-width: 320px;}
.gmc .socials {display: flex; gap: 10px; margin-top: 26px;}
.gmc .socials a {width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); color: #fff; transition: background-color .3s var(--ease), border-color .3s, transform .4s var(--ease-out);}
.gmc .socials a:hover {background: var(--royal); border-color: var(--royal); transform: translateY(-3px);}
.gmc .socials .i {width: 18px; height: 18px;}
.gmc .footer-h {font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #fff; margin-bottom: 22px;}
.gmc .footer-col li + li {margin-top: 12px;}
.gmc .footer-col a, .gmc .footer-col li {font-size: 15px; line-height: 1.45;}
.gmc .footer-col a {position: relative; transition: color .25s;}
.gmc .footer-col a:hover {color: #fff;}
.gmc .footer-contact a, .gmc .footer-contact span {display: inline-flex; align-items: center; gap: 10px;}
.gmc .footer-contact .i {color: var(--royal-300);}
.gmc .footer-mark {font-size: min(10.8vw, 158px); font-weight: 600; letter-spacing: -.055em; line-height: 1; color: var(--navy-700); white-space: nowrap; margin: 0 0 clamp(28px, 3.4vw, 52px) -.04em; user-select: none; pointer-events: none;}
.gmc .footer-bottom {position: relative; display: flex; justify-content: space-between; align-items: center; gap: 16px 32px; flex-wrap: wrap; padding: 24px 0 30px; border-top: 1px solid rgba(255,255,255,.1); font-size: 14px;}
.gmc .footer-bottom ul {display: flex; flex-wrap: wrap; gap: 8px 24px;}
.gmc .footer-bottom a:hover {color: #fff;}
.gmc .wa-float {position: fixed; right: 24px; bottom: 24px; z-index: 40; display: flex; align-items: center; height: 60px; padding: 6px; border-radius: 999px; background: #fff; box-shadow: var(--shadow-lg), 0 0 0 1px var(--line); color: var(--ink);}
.gmc .wa-label {max-width: 0; overflow: hidden; white-space: nowrap; font-size: 14.5px; font-weight: 600; opacity: 0; transition: max-width .55s var(--ease-out), opacity .35s var(--ease), padding .55s var(--ease-out);}
.gmc .wa-float:hover .wa-label, .gmc .wa-float:focus-visible .wa-label {max-width: 220px; opacity: 1; padding: 0 12px 0 14px;}
.gmc .wa-ico {position: relative; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--wa); color: #fff;}
.gmc .wa-ico .i {width: 24px; height: 24px;}
.gmc .wa-ico::after {content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0 rgba(37, 211, 102, .45); animation: gmc-wa-ping 2.4s 2.5s 2 var(--ease);}
@keyframes gmc-wa-ping{ 70% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); } 100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); } }
.gmc .mobile-bar {position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 40; display: none; grid-template-columns: 1fr 1fr; gap: 8px; padding: 8px; border-radius: 22px; background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid var(--line); box-shadow: var(--shadow-lg); transform: translateY(150%); transition: transform .55s var(--ease-out);}
.gmc .mobile-bar.is-visible {transform: none;}
.gmc .mobile-bar a {display: flex; align-items: center; justify-content: center; gap: 8px; height: 50px; border-radius: 15px; font-weight: 600; font-size: 15px;}
.gmc .mb-call {background: var(--soft); color: var(--ink); border: 1px solid var(--line);}
.gmc .mb-call .i {color: var(--royal);}
.gmc .mb-wa {background: var(--royal); color: #fff;}
.gmc .toast {position: fixed; left: 50%; bottom: 28px; z-index: 90; max-width: calc(100% - 32px); padding: 14px 20px; border-radius: 16px; background: var(--navy); color: #fff; font-size: 14.5px; font-weight: 500; box-shadow: var(--shadow-lg); opacity: 0; pointer-events: none; transform: translate(-50%, 20px); transition: opacity .35s var(--ease), transform .5s var(--ease-out);}
.gmc .toast.is-visible {opacity: 1; transform: translate(-50%, 0);}
html.gmc-js body:not(.elementor-editor-active) .gmc [data-reveal] {opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .9s var(--ease-out); transition-delay: var(--d, 0ms);}
html.gmc-js body:not(.elementor-editor-active) .gmc [data-reveal].is-in {opacity: 1; transform: none;}
@media (max-width: 1240px){
.gmc .header-phone-num {display: none;}
.gmc .nav-link {padding: 0 12px;}
}
@media (max-width: 1100px){
.gmc .main-nav, .gmc .header-phone {display: none;}
.gmc .menu-toggle {display: block;}
.gmc .header-actions {margin-left: auto;}
.gmc .hero-inner {grid-template-columns: 1fr;}
.gmc .hero-copy {max-width: 720px;}
.gmc .hero-visual {margin: 24px auto 0; max-width: 600px;}
.gmc .section-head {grid-template-columns: 1fr; gap: 20px;}
.gmc .section-head > p {justify-self: start;}
.gmc .bento {grid-template-columns: repeat(2, minmax(0, 1fr));}
.gmc .svc--wide {grid-column: span 2;}
.gmc .svc--cta {grid-column: span 2; flex-direction: row; align-items: flex-end;}
.gmc .work-grid {gap: 48px 24px;}
.gmc .work, .gmc .work--wide {grid-column: span 6;}
.gmc .work .work-media, .gmc .work--wide .work-media {aspect-ratio: 1.2;}
.gmc .about-top {grid-template-columns: 1fr; gap: 24px;}
.gmc .features {grid-template-columns: repeat(2, minmax(0, 1fr));}
.gmc .feature:nth-child(3) {padding-left: 0; border-left: 0;}
.gmc .feature:nth-child(n+3) {border-top: 1px solid rgba(255,255,255,.12); margin-top: 28px;}
.gmc .team-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
.gmc .testi-grid {grid-template-columns: 1fr 1fr;}
.gmc .t-card--feature {grid-column: span 2; grid-row: auto;}
.gmc .contact-panel {grid-template-columns: 1fr;}
.gmc .footer-top {grid-template-columns: 1fr 1fr 1fr;}
.gmc .footer-brand {grid-column: 1 / -1;}
}
@media (max-width: 860px){
.gmc .problem-grid, .gmc .process-grid, .gmc .faq-grid {grid-template-columns: 1fr;}
.gmc .process-intro, .gmc .faq-aside {position: static;}
.gmc .svc--wide {flex-direction: column; gap: 0; padding: 12px 12px 28px;}
.gmc .svc--wide .svc-ill {min-height: 0; height: 260px; flex: none; margin-bottom: 24px;}
.gmc .svc--wide .svc-body {padding: 0 14px;}
}
@media (max-width: 760px){
.gmc .wa-float {display: none;}
.gmc .mobile-bar {display: grid;}
.gmc .gmc-footer {padding-bottom: 84px;}
}
@media (max-width: 640px){
.gmc {font-size: 16px;}
.gmc .gmc-wrap {width: calc(100% - 32px);}
.gmc .gmc-header {padding-top: 10px;}
.gmc .gmc-header-inner {height: 64px; padding: 0 8px 0 16px; border-radius: 18px;}
.gmc .gmc-header.is-scrolled .gmc-header-inner {height: 60px;}
.gmc .brand img {height: 32px;}
.gmc .header-cta {display: none;}
.gmc .hero {padding-top: calc(64px + 52px); padding-bottom: 40px;}
.gmc .hero-badge {font-size: 12.5px; margin-bottom: 22px;}
.gmc .hero-badge-tag {font-size: 11px;}
.gmc .hero-badge-tag .full {display: none;}
.gmc .hero-badge-tag .short {display: inline;}
.gmc .gb-actions span {font-size: 10.5px;}
.gmc .cm-email {font-size: 13px !important;}
.gmc .hero h1 {font-size: clamp(2.35rem, 10.4vw, 3rem);}
.gmc .hero-ctas .btn {width: 100%;}
.gmc .hero-proof {gap: 14px; margin-top: 36px;}
.gmc .avatars img {width: 38px; height: 38px;}
.gmc .hero-visual {aspect-ratio: 1 / 1.25; margin-top: 16px;}
.gmc .hv-photo {inset: 6% 0 18% 8%; border-radius: 26px;}
.gmc .hv-google {width: 60%; padding: 12px; bottom: 0;}
.gmc .gb-actions {display: none;}
.gmc .gb-meta {margin-bottom: 0;}
.gmc .gb-ico {width: 34px; height: 34px;}
.gmc .gb-name {font-size: 14px;}
.gmc .gb-meta {margin: 8px 0 10px;}
.gmc .gb-actions {padding-top: 10px;}
.gmc .gb-actions i {width: 28px; height: 28px;}
.gmc .hv-chat {width: 60%; padding: 11px; right: 0; top: 42%;}
.gmc .chat-bubble {font-size: 12.5px;}
.gmc .hv-badge {display: none;}
.gmc .hv-badge-core {width: 38px; height: 38px;}
.gmc .hv-tag {display: none;}
.gmc .logo-chip {width: 62px; height: 62px;}
.gmc .marquee-set {gap: 18px; padding-right: 18px;}
.gmc .seg {display: flex; width: 100%;}
.gmc .seg button {flex: 1; padding: 0 10px; font-size: 13.5px;}
.gmc .compare-card {padding: 6px; border-radius: 26px;}
.gmc .compare-item {grid-template-columns: 42px 1fr; gap: 14px; padding: 18px 12px;}
.gmc .ci-ico {width: 42px; height: 42px; border-radius: 13px;}
.gmc .ci-text > span {font-size: 15.5px;}
.gmc .bento {grid-template-columns: 1fr; gap: 16px;}
.gmc .svc--wide, .gmc .svc--cta {grid-column: auto;}
.gmc .svc--cta {flex-direction: column; align-items: stretch; padding: 28px;}
.gmc .svc--cta .btn {align-self: stretch;}
.gmc .svc-ill {height: 220px;}
.gmc .svc--wide .svc-ill {height: 240px;}
.gmc .work-grid {grid-template-columns: 1fr; gap: 44px;}
.gmc .work, .gmc .work--wide {grid-column: auto;}
.gmc .work .work-media, .gmc .work--wide .work-media {aspect-ratio: 1.25;}
.gmc .portfolio-foot {padding: 24px; margin-top: 52px;}
.gmc .portfolio-foot .btn {width: 100%;}
.gmc .features {grid-template-columns: 1fr;}
.gmc .feature, .gmc .feature + .feature {padding: 28px 0 4px; border-left: 0;}
.gmc .feature:nth-child(n+2) {border-top: 1px solid rgba(255,255,255,.12); margin-top: 24px;}
.gmc .team-grid {display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin-inline: -16px; padding: 0 16px 8px; scrollbar-width: none;}
.gmc .team-grid::-webkit-scrollbar {display: none;}
.gmc .member {flex: 0 0 68%; scroll-snap-align: start;}
.gmc .steps-rail {left: 23px; top: 44px; bottom: 44px;}
.gmc .step {grid-template-columns: 48px 1fr; gap: 14px;}
.gmc .step-num {width: 48px; height: 48px; font-size: 20px; margin-top: 14px;}
.gmc .step-card {padding: 20px;}
.gmc .step.is-active .step-card {transform: none;}
.gmc .testi-grid {grid-template-columns: 1fr;}
.gmc .t-card--feature, .gmc .t-card--wide {grid-column: auto;}
.gmc .t-card, .gmc .t-card--feature {padding: 26px;}
.gmc .faq-q {font-size: 1.05rem; padding: 22px 2px; gap: 16px;}
.gmc .faq-a p {padding-right: 8px; font-size: 15.5px;}
.gmc .contact-panel {border-radius: 28px; padding: 26px 16px 16px;}
.gmc .contact-copy {padding: 0 6px;}
.gmc .form-grid {grid-template-columns: 1fr;}
.gmc .form-card {padding: 22px 18px; border-radius: 22px;}
.gmc .footer-top {grid-template-columns: 1fr 1fr; gap: 36px 20px;}
.gmc .footer-bottom {flex-direction: column; align-items: flex-start;}
}
@media (prefers-reduced-motion: reduce){
.gmc, .gmc *, .gmc *::before, .gmc::before, .gmc *::after, .gmc::after {animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important;}
.gmc .marquee-track {animation: none; flex-wrap: wrap;}
html.gmc-js body:not(.elementor-editor-active) .gmc [data-reveal] {opacity: 1; transform: none;}
}

/* ---------- WordPress / Elementor integration ---------- */
.gmc { min-width: 0; width: 100%; }
.gmc-w-header { min-height: 0; }
.admin-bar .gmc .gmc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .gmc .gmc-header { top: 46px; } }
.admin-bar .gmc .mobile-menu { top: 32px; }
@media (max-width: 782px) { .admin-bar .gmc .mobile-menu { top: 46px; } }
.gmc .hero h1 { margin: 0; }
.gmc .mm-sub > div a { display: block; }

/* Global elements carry no box of their own */
.gmc.gmc-global { background: none; height: 0; overflow: visible; }

/* Portfolio media rendered as link or button */
.gmc .work-media { display: block; width: 100%; padding: 0; text-align: left; color: inherit; }
.gmc button.work-media:hover, .gmc button.work-media:focus { background: var(--soft); }
.gmc .work-media:focus-visible { outline: 2px solid var(--royal); outline-offset: 4px; }

/* Form status */
.gmc .form-status { font-size: 14px; color: #c4314b; margin: -6px 0 14px; }
.gmc .form-status:empty { display: none; }
.gmc .btn[disabled] { opacity: .8; }

/* Lightbox */
.gmc.gmc-lightbox { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 24px; background: rgba(11, 31, 70, .9); opacity: 0; transition: opacity .3s var(--ease); height: auto; }
.gmc.gmc-lightbox.is-open { opacity: 1; }
.gmc.gmc-lightbox img { max-width: min(1100px, 100%); max-height: 86vh; width: auto; height: auto; border-radius: 18px; box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); transform: scale(.96); transition: transform .4s var(--ease-out); }
.gmc.gmc-lightbox.is-open img { transform: none; }
.gmc .lb-close { position: absolute; top: 18px; right: 18px; width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--navy); font-size: 28px; line-height: 1; display: grid; place-items: center; }

/* Elementor editor: keep everything visible and the fixed header from covering the canvas */
.elementor-editor-active .gmc .gmc-header { position: relative; padding-top: 14px; }
.elementor-editor-active .gmc .hero { padding-top: 64px; }
.elementor-editor-active .gmc .mobile-menu { display: none; }

/* Grid items must be allowed to shrink (long select options were widening the column on mobile) */
.gmc .contact-panel > *, .gmc .form-grid > .field, .gmc .problem-grid > *, .gmc .process-grid > *, .gmc .faq-grid > * { min-width: 0; }
.gmc .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gmc .field select { max-width: 100%; }
@media (max-width: 640px) { .gmc .form-grid { grid-template-columns: minmax(0, 1fr); } }
