.p-global-page { background:#fff; }
main.s-solution { display:block; }
.p-global h1, .p-global h2, .p-global h3, .p-global h4, .c-sol-hero__title, .c-sol-stats__title, .c-sol-usecases__title,
.c-sol-channels__title, .c-sol-timeline__title, .c-sol-testi__title, .c-sol-cta__title,
.c-mosaic__heading, .c-mosaic-card__heading, .c-about-sol__heading, .c-cta-box__heading,
.s-trust__title, .gr-sec__title, .c-sol-stats__label, .c-sol-stats__unit { word-break: keep-all; }

.gr-sec { padding:96px 0; background:#fff; }
.gr-sec--tint { background:var(--sol-primary-tint-1,#F5F8FF); }
.gr-sec.gr-sec--follow { padding:80px 0; }
.p-global .s-cta { padding:80px 0; }
.p-global .c-sol-timeline { padding:96px 24px; }
.p-global .c-sol-btn--outline {
  background:transparent; border:1px solid var(--point-blue-1,#4B75F2); color:var(--point-blue-1,#4B75F2);
}
.gr-sec__head { max-width:760px; margin:0 0 44px; }
.gr-sec__head--wide { max-width:900px; }
.gr-sec__head--center { max-width:720px; margin-left:auto; margin-right:auto; text-align:center; }
.gr-sec__title {
  font-size:clamp(28px,3.4vw,40px); font-weight:700; line-height:1.32;
  letter-spacing:-0.02em; color:#0E1A3F; margin:14px 0 0; text-wrap:balance;
}
.gr-sec__desc { margin:16px 0 0; font-size:16px; line-height:1.72; color:#4B5563; }
.gr-lead { max-width:720px; margin:-12px 0 44px; font-size:16px; line-height:1.72; color:#4B5563; }
.gr-sub { font-size:19px; font-weight:700; color:#0E1A3F; margin:0 0 14px; }
.gr-sub--center { margin:64px 0 24px; }
.gr-body { margin:0 0 14px; font-size:15.5px; line-height:1.78; color:#4B5563; }

.gr-hl {
  display:grid; grid-template-columns:repeat(3,1fr); gap:0;
  border-top:1px solid #D8E0F0; border-bottom:1px solid #D8E0F0; margin:0 0 56px;
}
.gr-hl__item { padding:26px 24px; border-left:1px solid #D8E0F0; }
.gr-hl__item:first-child { border-left:0; padding-left:0; }
.gr-hl__item b { display:block; font-size:30px; font-weight:700; color:var(--sol-primary,#2D6BFF); letter-spacing:-0.02em; }
.gr-hl__item span { display:block; margin-top:7px; font-size:14px; color:#5A6478; line-height:1.6; }

.gr-two { display:grid; grid-template-columns:1fr 1fr; gap:48px; }

.gr-logo {
  display:flex; align-items:center; justify-content:center;
  width:150px; height:56px; border:1px solid #E5E8EF; border-radius:8px;
  background:#fff; font-size:14px; font-weight:600; color:#8A93A5; white-space:nowrap;
}
.gr-imgnote { margin:20px 0 0; font-size:13px; color:#8A93A5; text-align:center; }

.gr-ph {
  display:flex; align-items:center; justify-content:center; text-align:center;
  border:1px dashed #C3CBDA; border-radius:12px; background:#F7F9FC;
  color:#8A93A5; font-size:13px; line-height:1.5; padding:14px;
}
.gr-ph--card   { width:100%; min-height:104px; margin-top:16px; }
.gr-ph--visual { width:100%; min-height:320px; }
.gr-ph--node   { width:56px; height:56px; font-size:10px; border-radius:50%; padding:4px; }

.gr-code {
  width:100%; margin:0; padding:22px; border-radius:12px; overflow-x:auto; max-height:100%;
  background:#0E1A3F; color:#C8D6FF; font-size:12.5px; line-height:1.7;
  font-family:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,monospace;
}

.gr-cardgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }

.gr-askbox {
  display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
  margin:44px 0 0; padding:28px 32px; background:#fff; border:1px solid #D8E0F0; border-radius:16px;
}
.gr-askbox__title { margin:0; font-size:17px; font-weight:700; color:#0E1A3F; }
.gr-askbox__desc { margin:8px 0 0; font-size:14.5px; color:#5A6478; line-height:1.7; }

.gr-checklist { margin:36px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px; }
.gr-checklist--2col { display:grid; grid-template-columns:1fr 1fr; gap:14px 40px; margin-top:48px; }
.gr-checklist li { position:relative; padding-left:30px; font-size:15.5px; color:#374151; line-height:1.7; }
.gr-checklist li::before {
  content:"✓"; position:absolute; left:0; top:0;
  width:20px; height:20px; margin-top:3px; border-radius:50%;
  background:var(--sol-primary,#2D6BFF); color:#fff;
  font-size:11px; display:flex; align-items:center; justify-content:center;
}

.gr-storynote { margin:20px 0 0; font-size:13.5px; color:#6B7280; line-height:1.7; }
.gr-empty {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  border:1px dashed #C3CBDA; background:#F7F9FC; box-shadow:none; min-height:180px; text-align:center;
}
.gr-empty__label { margin:0; font-size:15px; font-weight:600; color:#8A93A5; }
.gr-empty__desc { margin:8px 0 0; font-size:13px; color:#A3ABBB; }

.gr-sec--form { background:#F5F8FF; }
.gr-form { max-width:760px; margin:0 auto; }
.gr-form__row { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0 0 18px; }
.gr-form__row--single { grid-template-columns:1fr; }
.gr-field { display:flex; flex-direction:column; gap:8px; }
.gr-field__label { font-size:14px; font-weight:600; color:#0E1A3F; }
.gr-field__label i { font-style:normal; color:#E5484D; }
.gr-field input, .gr-field select, .gr-field textarea {
  width:100%; padding:13px 15px; border:1px solid #D8DEEA; border-radius:8px;
  background:#fff; font-size:15px; font-family:inherit; color:#1F2937; box-sizing:border-box;
}
.gr-field textarea { resize:vertical; line-height:1.6; }
.gr-field input:focus, .gr-field select:focus, .gr-field textarea:focus {
  outline:2px solid var(--sol-primary,#2D6BFF); outline-offset:1px; border-color:transparent;
}
.gr-agree { display:flex; align-items:center; gap:9px; margin:8px 0 26px; font-size:14.5px; color:#374151; }
.gr-agree i { font-style:normal; color:#E5484D; }
.gr-form__submit { width:100%; min-height:44px; justify-content:center; text-align:center; }

.gr-faq { border-top:1px solid #E5E8EF; }
.gr-faq__item { border-bottom:1px solid #E5E8EF; }
.gr-faq__q {
  list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative;
  font-size:17px; font-weight:600; color:#0E1A3F; line-height:1.5;
}
.gr-faq__q::-webkit-details-marker { display:none; }
.gr-faq__q::after {
  content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-size:22px; font-weight:400; color:var(--sol-primary,#2D6BFF);
}
.gr-faq__item[open] .gr-faq__q::after { content:"–"; }
.gr-faq__a { padding:0 44px 24px 0; font-size:15.5px; line-height:1.78; color:#4B5563; }

@media (max-width:1080px){ .gr-cardgrid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:767px){
  .gr-sec { padding:64px 0; }
  .p-global .s-cta { padding:56px 0; }
  .p-global .c-sol-timeline { padding:56px 16px; }
  .p-global .c-sol-hero__grid { grid-template-columns:1fr; }
  .p-global .c-sol-hero__ctas { flex-direction:column; align-items:stretch; width:100%; }
  .p-global .c-sol-hero__ctas .c-sol-btn { width:100%; justify-content:center; }
  .gr-form__row, .gr-two, .gr-checklist--2col { grid-template-columns:1fr; }
  .gr-cardgrid { grid-template-columns:1fr; }
  .gr-hl { grid-template-columns:1fr; }
  .gr-hl__item { border-left:0; border-top:1px solid #D8E0F0; padding-left:0; }
  .gr-hl__item:first-child { border-top:0; }
  .gr-ph--visual { min-height:220px; }
}
.c-sol-stats__value { font-size:38px !important; letter-spacing:-0.02em; }
.c-sol-stats__unit  { font-size:17px !important; }
.c-sol-stats__value-row { align-items:baseline; flex-wrap:nowrap; white-space:nowrap; }
.c-sol-stats__label { font-size:14px; }
.c-sol-stats__detail { font-size:13px; line-height:1.65; }
@media (max-width:1080px){ .c-sol-stats__value { font-size:32px !important; } }

.c-mosaic__cell--a { grid-column: span 6;  grid-row: 1; min-height: 300px; }
.c-mosaic__cell--b { grid-column: span 7;  grid-row: 1; min-height: 300px; }
.c-mosaic__cell--c { grid-column: span 7;  grid-row: 1; min-height: 300px; }
.c-mosaic__cell--d { grid-column: span 7;  grid-row: 2; min-height: 300px; }
.c-mosaic__cell--i { grid-column: span 6;  grid-row: 2; min-height: 300px; }
.c-mosaic__cell--e { grid-column: span 7;  grid-row: 2; min-height: 300px; }
.c-mosaic__cell--a .c-mosaic__heading { font-size: 30px; line-height: 1.3; }
.c-mosaic__cell--b, .c-mosaic__cell--c,
.c-mosaic__cell--d, .c-mosaic__cell--e { display:flex; flex-direction:column; }
.c-mosaic__cell--b .c-mosaic-card__heading, .c-mosaic__cell--b .c-mosaic-card__body,
.c-mosaic__cell--c .c-mosaic-card__heading, .c-mosaic__cell--c .c-mosaic-card__body,
.c-mosaic__cell--d .c-mosaic-card__heading, .c-mosaic__cell--d .c-mosaic-card__body,
.c-mosaic__cell--e .c-mosaic-card__heading, .c-mosaic__cell--e .c-mosaic-card__body { max-width: 100%; }
.c-mosaic-card .gr-ph--card {
  position: static; transform: none; inset: auto;
  width: 55%; height: auto; min-height: 96px; aspect-ratio: auto;
  margin: auto 0 0 auto;
}
@media (max-width: 900px){
  .c-mosaic__cell--a, .c-mosaic__cell--b, .c-mosaic__cell--c,
  .c-mosaic__cell--d, .c-mosaic__cell--i, .c-mosaic__cell--e {
    grid-column: 1 / -1; grid-row: auto; min-height: 0;
  }
  .c-mosaic__cell--b .gr-ph--card, .c-mosaic__cell--c .gr-ph--card,
  .c-mosaic__cell--d .gr-ph--card, .c-mosaic__cell--e .gr-ph--card { width: 100%; }
}

.gr-cardgrid .c-sol-channel-card { min-height: 0; }
.gr-cardgrid--3 .c-sol-channel-card { padding: 28px 26px; gap: 10px; }
.gr-cardgrid--3 .c-sol-channel-card__title { font-size: 18px; line-height: 1.45; }
.gr-cardgrid--3 .c-sol-channel-card__desc { font-size: 14.5px; line-height: 1.7; }
.gr-cardgrid--3 .c-sol-channel-card { min-height: 300px; }
.gr-ph--cardimg { width: 100%; min-height: 118px; margin-top: auto; }

.c-mosaic__cell--i { display:flex; flex-direction:column; }
.c-mosaic__cell--i .c-mosaic-stat__number { font-size:32px; line-height:1.3; letter-spacing:-0.02em; }
.c-mosaic__cell--i .c-mosaic-stat__num { font-size:inherit; }
.c-mosaic__cell--i .c-mosaic-stat__caption { margin-top:10px; }

.c-sol-channels__cards { grid-template-columns:1fr; align-content:start; }

.gr-checklist--center {
  display:flex; flex-direction:column; align-items:stretch; width:max-content; max-width:100%; gap:12px; margin:44px auto 0;
}
.gr-checklist--center li { padding-left:30px; }

.gr-storylead--lg {
  font-size:19px; line-height:1.6; font-weight:600; color:#0E1A3F; margin:0 0 18px;
}
.c-sol-testi-card__quote { font-size:17px !important; line-height:1.72 !important; }
.c-sol-testi-card .c-sol-testi-card__quote { margin-bottom:auto; }
.c-sol-testi-card__brand { margin-top:28px; }
.c-sol-testi-card { display:flex; flex-direction:column; }

.c-mosaic__cell--d .gr-ph {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.45);
  color: rgba(255,255,255,.85);
}

.gr-cardgrid--3 { grid-template-columns:repeat(3,1fr); margin-top:16px; }
.gr-cardgrid--2 { grid-template-columns:repeat(2,1fr); margin-top:36px; }
.gr-stack { display:block; }
.gr-stack .c-sol-channels__head { max-width:820px; }
.gr-stack .c-sol-channels__list { max-width:820px; }

.gr-btnrow { display:flex; gap:10px; flex-wrap:wrap; }

.gr-storylead { margin:0 0 20px; font-size:14px; line-height:1.7; color:#5A6478; }
.gr-note--center { text-align:center; max-width:760px; margin-left:auto; margin-right:auto; }

.gr-modal { position:fixed; inset:50% auto auto 50%; transform:translate(-50%,-50%); margin:0; border:0; padding:0; border-radius:20px; max-width:440px; max-height:calc(100vh - 32px); width:calc(100% - 32px); background:transparent; overflow:visible; }
.gr-modal::backdrop { background:rgba(14,26,63,.45); }
.gr-modal__box { position:relative; max-height:calc(100vh - 32px); overflow-y:auto; box-sizing:border-box; background:#fff; border-radius:20px; padding:36px 32px 32px; display:flex; flex-direction:column; gap:16px; }
@supports (height: 100dvh) {
  .gr-modal, .gr-modal__box { max-height:calc(100dvh - 32px); }
}
.gr-modal__close { position:absolute; top:8px; right:8px; width:44px; height:44px; border:0; background:none; font-size:26px; line-height:1; color:#8A93A5; cursor:pointer; }
.gr-modal__title { margin:0; font-size:22px; font-weight:700; color:#0E1A3F; }
.gr-modal__desc { margin:-8px 0 4px; font-size:14px; line-height:1.7; color:#5A6478; }
.gr-modal .gr-agree { margin:0; font-size:14px; }
.gr-modal .gr-form__submit { margin-top:8px; }

@media (max-width:900px){
  .gr-cardgrid--3, .gr-cardgrid--2 { grid-template-columns:1fr; }
}
.c-sol-testi-card { display:flex; flex-direction:column; }
.gr-storylead, .gr-storylead--lg {
  font-size:20px; line-height:1.62; font-weight:600; color:#0E1A3F;
  margin:0 0 22px; max-width:92%;
}
.c-sol-testi-card__quote { font-size:16px; line-height:1.75; font-weight:500; }
.c-sol-testi-card__quote { margin-bottom:auto; }
.c-sol-testi-card__brand { margin-top:28px; }
.c-sol-testi-card__metrics { margin-top:0; }

.c-logo-slider__item { flex: 0 0 152px; height: 40px; }
.c-logo-slider__img { max-height: 100%; }

.gr-cardgrid .c-sol-channel-card__title { font-size: 22px; line-height: 1.35; letter-spacing: -0.01em; }
.gr-cardgrid--3 .c-sol-channel-card__title { font-size: 18px; }

.gr-trust--brands { padding-top: 0; }
.gr-trust--brands .s-trust__title { margin-bottom: 40px; }

.gr-channel-icon { flex:0 0 48px; width:48px; height:48px; border-radius:14px; }
.gr-channel-icon svg { display:block; width:48px; height:48px; flex:none; }

.c-sol-testi-card--sm .c-sol-testi-card__quote {
  top: 96px; font-size: 14.2px; line-height: 1.62; font-weight: 600; margin: 0;
}

.c-mosaic-card .gr-cardimg {
  position:static; transform:none; inset:auto;
  width:58%; height:auto; aspect-ratio:auto; margin:auto 0 0 auto; display:block;
}
.gr-cardimg--wide { width:100%; height:auto; display:block; margin-top:auto; }

.gr-trust--brands .c-logo-slider__item { flex:0 0 64px; height:48px; }
.gr-trust--brands .c-logo-slider__img { width:48px; height:48px; object-fit:contain; }

.gr-sample {
  display:grid; grid-template-columns:1fr 0.85fr; gap:56px; align-items:center;
  background:var(--sol-primary-tint-1,#F5F8FF); border-radius:24px; padding:56px 56px 56px 60px;
}
.gr-sample__title { margin:0; font-size:clamp(24px,2.6vw,32px); font-weight:700; line-height:1.38; color:#0E1A3F; }
.gr-sample__desc { margin:18px 0 28px; font-size:16px; line-height:1.72; color:#4B5563; }
.gr-sample__visual img { width:100%; height:auto; display:block; border-radius:16px; }
@media (max-width:900px){
  .gr-sample { grid-template-columns:1fr; gap:32px; padding:36px 24px; }
}

.c-sol-testi-card__quote { margin-bottom: 40px; }
.c-sol-testi-card--sm .c-sol-testi-card__quote { margin-bottom: 0; }
.c-sol-testi__col-right { display:flex; flex-direction:column; gap:24px; }

.c-mosaic__cell--i .gr-cardimg,
.c-mosaic__cell--e .gr-cardimg { width: 82%; margin-top: 18px; }

.gr-stepicon { width: 34px; height: 34px; display: block; }

.c-sol-testi-card--sm .c-sol-testi-card__brand { top: 40px; }
.c-sol-testi-card--sm .c-sol-testi-card__quote { top: 124px; }
.c-sol-testi-card--sm { flex:1 1 0; height:auto; min-height:300px; }

.gr-agree a { color: #2156D8; text-decoration: underline; text-underline-offset: 2px; }

.gr-pricing-cta { display:flex; justify-content:center; margin-top:var(--space-7); }

.gr-modal--wide { max-width: 620px; }
.gr-modal--wide .gr-form__row { margin: 0; }

.gr-form__status { min-height: 22px; margin: 2px 0 8px; color: #4B5563; font-size: 14px; line-height: 1.5; }
.gr-form__status.is-success { color: #137A45; }
.gr-form__status.is-error { color: #C9343A; }
.gr-form__submit:disabled { cursor: wait; opacity: .65; }
.gr-modal[open] { display: block; }
@media (prefers-reduced-motion: reduce) {
  .p-global .c-logo-slider__track { animation: none; }
  .p-global *, .p-global *::before, .p-global *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
