/* GEOAir managed service landing page. Shared article styling stays in theme.css. */
.ga-public { --gs-ink: #142b4a; --gs-blue: #235bdb; --gs-muted: #61738d; --gs-line: #e0e8f2; }
.ga-public .ga-header { background: #fff; border-bottom: 1px solid #edf1f7; }
.ga-public .ga-header > .ga-container { max-width: 1280px; padding-inline: 40px; }
.ga-public .ga-header-content { min-height: 84px; padding-block: 12px; }
.ga-public .ga-brand-text { background: none; -webkit-text-fill-color: currentColor; color: #123e72; font-weight: 800; letter-spacing: -.05em; font-size: 28px; }
.ga-public .ga-brand-logo { max-height: 38px; max-width: 160px; }
.ga-public .ga-nav { gap: 28px; }
.ga-public .ga-nav-link { color: #30445f; font-size: 14px; padding: 10px 0; border-radius: 0; }
.ga-public .ga-nav-link:hover { background: none; color: var(--gs-blue); }
.ga-public .gs-nav-cta { padding: 11px 22px; background: var(--gs-blue); color: white; border-radius: 6px; font-size: 14px; font-weight: 650; }
.ga-public .gs-nav-cta:hover { background: #184bc1; color: white; }
.ga-public .ga-main { padding-top: 0; }
.ga-public .ga-footer { background: #fff; border-top: 1px solid var(--gs-line); padding: 28px 0; }
.ga-public .ga-footer > .ga-container { max-width: 1280px; padding-inline: 40px; }
.ga-public .ga-footer-content { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; text-align: left; font-size: 12px; color: var(--gs-muted); }
.gs-footer-brand { margin-right: auto; font-weight: 800; font-size: 23px; letter-spacing: -.05em; color: #123e72; }
.gs-footer-archive { color: var(--gs-muted); }
.ga-service { background: #fff; color: var(--gs-ink); font-family: 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif; }
.ga-service h1, .ga-service h2, .ga-service h3 { color: var(--gs-ink); margin: 0; letter-spacing: -.035em; }
.ga-service p { color: var(--gs-muted); margin: 0; }
.ga-service svg { flex-shrink: 0; }
.ga-service [id] { scroll-margin-top: 105px; }
.gs-wrap { width: min(100%, 1280px); margin-inline: auto; padding-inline: 40px; }
.gs-section { padding-block: 76px; }
.gs-hero { overflow: hidden; position: relative; border-bottom: 1px solid var(--gs-line); background: #fff; }
.gs-hero-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 610px; align-items: center; position: relative; }
.gs-hero-copy { position: relative; z-index: 2; padding: 70px 0 82px; }
.gs-small-rule { display: block; width: 28px; height: 3px; background: #e8814d; margin-bottom: 26px; }
.ga-service .gs-hero-copy h1 { font-size: clamp(38px, 4.1vw, 59px); font-weight: 800; line-height: 1.25; letter-spacing: -.055em; margin: 0 0 27px; }
.gs-tablet-break { display: none; }
.gs-hero-copy > p { font-size: 17px; line-height: 1.9; max-width: 490px; }
.gs-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 31px; }
.gs-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 13px 25px; gap: 12px; border: 1px solid transparent; border-radius: 6px; font-size: 15px; font-weight: 650; transition: background .2s, box-shadow .2s; }
.gs-button svg { width: 17px; height: 17px; }
.gs-button-primary { background: var(--gs-blue); color: white; box-shadow: 0 5px 12px #235bdb1a; }
.gs-button-primary:hover { color: white; background: #184bc1; box-shadow: 0 6px 18px #235bdb30; }
.gs-button-secondary { color: #24436c; border-color: #b7c9e9; background: #fff; }
.gs-button-secondary:hover { background: #f1f6ff; color: #163b79; }
.gs-hero-note { display: block; margin-top: 18px; color: #718198; font-size: 12px; letter-spacing: .03em; }
.gs-hero-visual { position: relative; height: 540px; width: 620px; margin-left: -18px; isolation: isolate; }
.gs-architecture { position: absolute; inset: -100px -200px -20px -40px; overflow: hidden; z-index: -2; background: radial-gradient(ellipse at 48% 68%, #d9eaff99, transparent 60%); }
.gs-architecture span { position: absolute; display: block; width: 780px; height: 330px; right: -160px; top: -120px; background: linear-gradient(135deg, #fff 20%, #eef3fa 50%, #d5e0ee 50.2%, #fafcff 67%, #e3ebf5 90%); transform: rotate(-28deg) skewX(-18deg); box-shadow: -5px 24px 30px #173d6710; }
.gs-architecture span:nth-child(2) { top: 14px; right: -290px; transform: rotate(-33deg) skewX(-25deg); opacity: .85; }
.gs-architecture span:nth-child(3) { top: 285px; right: -420px; transform: rotate(-25deg) skewX(-30deg); }
.gs-architecture span:nth-child(4) { top: 465px; right: -80px; transform: rotate(-25deg) skewX(-25deg); background: linear-gradient(135deg, #fff, #e9f1fc 55%, #cfddee 55.5%, #fff); opacity: .8; }
.gs-dossier { width: 360px; padding: 28px 28px 42px; position: absolute; left: 144px; top: 24px; transform: rotate(-8deg); background: linear-gradient(130deg, #fff 65%, #f2f6fb); border: 1px solid #e2eaf5; box-shadow: 0 20px 45px #183f6b19, 0 3px 8px #183f6b0a; border-radius: 4px; }
.ga-service .gs-dossier h2 { font-size: 23px; letter-spacing: -.03em; margin-bottom: 8px; }
.ga-service .gs-dossier > p { font-size: 10px; white-space: nowrap; }
.gs-dossier-body { display: grid; grid-template-columns: 1fr 108px; gap: 22px; margin-top: 20px; }
.gs-dossier-rows { display: grid; gap: 9px; }
.gs-dossier-rows > div { display: flex; align-items: center; justify-content: space-between; color: #51677f; font-size: 11px; padding-bottom: 5px; border-bottom: 1px solid #e4eaf3; }
.gs-dossier-rows svg { width: 11px; height: 11px; color: #96acc4; }
.gs-dossier-image { height: 164px; }
.gs-paper-wave { height: 98px; position: relative; overflow: hidden; background: #e3eaf2; border-radius: 4px; }
.gs-paper-wave::before { content: ''; position: absolute; width: 140px; height: 150px; border-radius: 50% 50% 0 0; background: repeating-linear-gradient(90deg, #dce5f0 0, #f5f8fc 2px, #c2cfdf 3px, #f4f7fc 4px); transform: rotate(-32deg); left: -7px; top: 28px; box-shadow: 10px -6px 14px #1c416826; }
.gs-dossier-image-small { height: 54px; margin-top: 10px; border-radius: 4px; background: linear-gradient(160deg, #afc3d9 10%, #e1eaf4 10.7%, #a8bfd9 25%, #d7e4f2 25.7%, #355574 60%, #7997b6 60.7%, #c1d2e5); }
.gs-orbit { position: absolute; width: 620px; height: 504px; top: 16px; left: 0; z-index: 1; pointer-events: none; }
.gs-orbit ellipse, .gs-orbit path { stroke: #4d86ea; stroke-width: 1; }
.gs-orbit ellipse { stroke-dasharray: 170 8 3 8; }
.gs-orbit circle { fill: #235bdb; }
.gs-orbit circle:last-child { fill: #e8814d; }
.gs-orbit-core { position: absolute; top: 264px; left: 252px; width: 118px; height: 118px; border: 1px solid #5790fa; border-radius: 50%; background: #ffffffed; display: grid; place-items: center; z-index: 2; box-shadow: 0 0 0 7px #fff9, 0 0 0 8px #9bbff97a, 0 12px 32px #2371db26; }
.gs-orbit-core span { font-weight: 800; color: #164b93; font-size: 23px; letter-spacing: -.06em; }
.gs-visual-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; position: absolute; top: 410px; left: 75px; right: 0; z-index: 3; }
.gs-visual-card { background: #ffffffed; border: 1px solid #d9e6fc; border-radius: 9px; padding: 20px 14px 17px; box-shadow: 0 12px 28px #1e4e8720; text-align: center; }
.gs-visual-card > svg { color: var(--gs-blue); width: 23px; height: 23px; margin: 0 auto 10px; }
.ga-service .gs-visual-card h3 { font-size: 16px; margin-bottom: 8px; }
.ga-service .gs-visual-card p { font-size: 11px; line-height: 1.6; }
.gs-visual-caption { position: absolute; right: -2px; top: 382px; font-size: 10px; color: #6b7e97; z-index: 3; }
.gs-audiences { border-bottom: 1px solid var(--gs-line); background: #fff; }
.gs-audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding-block: 31px; }
.gs-audience { display: flex; gap: 21px; align-items: flex-start; padding-inline: 35px; border-right: 1px solid var(--gs-line); }
.gs-audience:first-child { padding-left: 0; }
.gs-audience:last-child { border-right: 0; padding-right: 0; }
.gs-audience > svg { color: var(--gs-blue); width: 32px; height: 32px; margin-top: 3px; stroke-width: 1.5; }
.ga-service .gs-audience h2 { font-size: 16px; margin: 0 0 8px; letter-spacing: -.02em; }
.ga-service .gs-audience p { font-size: 12px; line-height: 1.8; max-width: 240px; }
.gs-section-heading { margin-bottom: 35px; }
.ga-service .gs-section-heading h2, .ga-service .gs-process-intro h2, .ga-service .gs-contact-copy h2, .ga-service .gs-insights-heading h2 { font-size: clamp(25px, 2.5vw, 35px); line-height: 1.45; font-weight: 750; }
.gs-section-heading > p { font-size: 14px; margin-top: 13px; line-height: 1.9; }
.gs-mobile-break { display: none; }
.gs-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.gs-pillar { border-right: 1px solid var(--gs-line); padding-right: 30px; min-width: 0; }
.gs-pillar:last-child { border-right: 0; padding-right: 0; }
.gs-pillar-heading { display: flex; align-items: center; gap: 13px; min-height: 69px; }
.gs-icon { display: grid; place-items: center; width: 48px; height: 48px; flex-shrink: 0; border-radius: 50%; background: #edf4ff; color: var(--gs-blue); }
.gs-icon svg { width: 22px; height: 22px; stroke-width: 1.6; }
.ga-service .gs-pillar h3 { font-size: 18px; margin-bottom: 7px; letter-spacing: -.03em; }
.ga-service .gs-pillar-heading p { font-size: 12px; line-height: 1.7; }
.gs-mini-scene { height: 248px; position: relative; margin-top: 24px; overflow: hidden; border-radius: 5px; background: linear-gradient(145deg, #f7f9fc, #f0f5fb); }
.gs-scene-docs { background: linear-gradient(#fff, #f6f9fd); padding: 23px 20px 0; }
.gs-paper-back { position: absolute; top: 24px; left: 25px; width: 79%; height: 235px; background: #e0e7ef; transform: rotate(-9deg); border: 1px solid #d8e1ec; }
.gs-paper-back-two { transform: rotate(6deg); background: #f6ecdf; top: 36px; left: 40px; }
.gs-check-sheet { position: relative; background: #fff; box-shadow: 0 5px 25px #3c5a7d15; padding: 24px 20px 25px; border: 1px solid #e4eaf2; transform: rotate(-2deg); }
.gs-sheet-caption { font-size: 13px; font-weight: 700; display: block; margin-bottom: 18px; }
.gs-check-sheet > div { display: flex; align-items: center; gap: 8px; font-size: 11px; color: #536985; margin-bottom: 15px; }
.gs-check-sheet svg { width: 12px; height: 12px; stroke-width: 1.2; }
.gs-sheet-line { height: 1px; background: #edf1f6; flex: 1; }
.gs-scene-label { position: absolute; top: 19px; left: 18px; color: #364c68; font-size: 12px; font-weight: 700; }
.gs-topic-map > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.gs-topic-map path { stroke: #b6ccee; stroke-width: 1; fill: none; stroke-dasharray: 3 5; }
.gs-topic-center { display: grid; place-content: center; position: absolute; width: 79px; height: 79px; border-radius: 50%; background: #225b91; color: white; font-size: 12px; font-weight: 650; text-align: center; line-height: 1.6; top: 95px; left: calc(50% - 40px); box-shadow: 0 0 0 9px #e7effa; }
.gs-topic { display: flex; align-items: center; gap: 7px; position: absolute; padding: 9px 10px; font-size: 10px; border: 1px solid #e4eaf2; box-shadow: 0 3px 9px #203d6310; background: #fff; border-radius: 7px; white-space: nowrap; }
.gs-topic::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #5188df; }
.gs-topic-a { top: 67px; left: 12px; }.gs-topic-b { top: 58px; right: 12px; }.gs-topic-c { top: 163px; left: 8px; }.gs-topic-d { top: 158px; right: 7px; }.gs-topic-e { bottom: 10px; left: calc(50% - 43px); }
.gs-topic-b::before, .gs-topic-e::before { background: #e8814d; }.gs-topic-d::before { background: #63a5a0; }
.gs-scene-report { padding: 22px 19px 0; }
.gs-report-sheet { position: relative; padding: 23px 15px; min-height: 252px; background: #fff; box-shadow: 0 4px 18px #3c5a7d12; transform: rotate(-3deg); }
.gs-report-sheet > strong { display: block; font-size: 13px; margin-bottom: 22px; }
.gs-report-sheet > div:not(.gs-report-art) { color: #6d809b; font-size: 11px; display: flex; align-items: center; gap: 8px; margin-bottom: 19px; position: relative; z-index: 1; }
.gs-outline-square { width: 10px; height: 10px; border: 1px solid #b7c9df; display: inline-block; }
.gs-report-art { position: absolute; width: 95px; height: 175px; right: 10px; bottom: 5px; overflow: hidden; background: linear-gradient(140deg, #eff4fb 10%, #d8e5f5 40%, #adc9e9 70%, #f7fbff); clip-path: polygon(0 14%, 100% 0, 100% 100%, 0 100%); opacity: .85; }
.gs-report-art::before { content: ''; position: absolute; width: 170px; height: 150px; bottom: -50px; left: -40px; border-radius: 50%; background: repeating-linear-gradient(60deg, #ecf3fb, #bfd1e7 2px, #eef4fb 3px, #c9dbef 5px); transform: rotate(18deg); }
.gs-process { padding-top: 62px; overflow: hidden; background: linear-gradient(115deg, #edf6ff, #f2f7fd 60%, #ecf5ff); }
.gs-process-grid { display: grid; grid-template-columns: 310px 1fr; gap: 55px; align-items: center; }
.gs-process-intro > p { font-size: 13px; line-height: 1.9; margin-top: 15px; max-width: 300px; }
.gs-report-cover { height: 210px; width: 246px; position: relative; background: linear-gradient(135deg, #fff 25%, #f1f5fb 60%, #dee9f6); box-shadow: 0 7px 28px #365a7c18; transform: rotate(-8deg); margin: 36px 0 -16px 18px; padding: 26px 23px; overflow: hidden; }
.gs-report-cover > span { font-size: 19px; font-weight: 700; position: relative; z-index: 1; }
.gs-report-cover > strong { position: absolute; bottom: 23px; left: 23px; font-size: 17px; letter-spacing: -.06em; }
.gs-cover-fold { position: absolute; background: linear-gradient(145deg, #fff, #c6d6e9 42%, #eaf0f9 42.5%, #91abc9 73%, #dce6f3 73.5%); width: 150px; height: 320px; transform: rotate(40deg) skewX(-12deg); right: -55px; top: 20px; box-shadow: -10px 8px 22px #28486914; }
.gs-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 0 0 45px; margin: 0; counter-reset: none; }
.gs-steps > li { position: relative; text-align: center; min-width: 0; }
.gs-step-circle { width: 88px; height: 88px; background: #ffffffbd; border: 1px solid #abc9ff; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 20px; position: relative; }
.gs-step-circle::after { content: '›'; position: absolute; right: -30px; font-size: 27px; color: #4e87df; font-weight: 300; }
.gs-steps > li:last-child .gs-step-circle::after { display: none; }
.gs-step-circle svg { width: 29px; height: 29px; stroke-width: 1.4; color: var(--gs-blue); }
.ga-service .gs-steps h3 { font-size: 16px; margin-bottom: 12px; }
.ga-service .gs-steps p { font-size: 12px; line-height: 1.8; min-height: 48px; padding-inline: 4px; }
.gs-step-deliverable { display: flex; align-items: center; justify-content: center; position: relative; font-size: 12px; font-weight: 600; background: #ffffff80; border: 1px solid #d3e2f8; border-radius: 5px; padding: 11px 4px; margin-top: 41px; min-height: 44px; }
.gs-step-deliverable::before { content: ''; position: absolute; height: 23px; top: -34px; left: 50%; border-left: 2px dotted #93b8f5; }
.gs-cases { padding-bottom: 18px; }
.gs-case-placeholder { height: 170px; border: 1px dashed #bdcde0; border-radius: 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: linear-gradient(135deg, #f9fbfd, #f2f5f9); color: #8b9bb1; font-size: 13px; }
.gs-case-placeholder svg { width: 27px; height: 27px; stroke-width: 1.2; }
.gs-faq { padding-top: 40px; padding-bottom: 40px; }
.gs-faq .gs-section-heading { margin-bottom: 24px; }
.gs-faq-item { margin-bottom: 12px; border: 1px solid #d9e3ef; border-radius: 5px; background: white; }
.gs-faq-item summary { padding: 19px 22px; cursor: pointer; list-style: none; font-size: 15px; font-weight: 650; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: var(--gs-ink); }
.gs-faq-item summary::-webkit-details-marker { display: none; }
.gs-faq-item summary span { width: 14px; height: 14px; position: relative; flex-shrink: 0; }
.gs-faq-item summary span::before, .gs-faq-item summary span::after { content: ''; position: absolute; width: 12px; height: 1px; background: #295083; top: 6px; left: 1px; }
.gs-faq-item summary span::after { transform: rotate(90deg); }
.gs-faq-item[open] summary span::after { transform: rotate(0deg); }
.ga-service .gs-faq-item p { padding: 0 22px 21px; max-width: 1000px; font-size: 13px; line-height: 1.9; }
.gs-contact-section { padding-top: 30px; padding-bottom: 64px; }
.gs-contact { padding: 45px; border-radius: 12px; background: linear-gradient(120deg, #eef6ff 0, #f4f8fd 55%, #edf5ff); display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.gs-contact-copy .gs-small-rule { margin-bottom: 25px; }
.ga-service .gs-contact-copy h2 { font-size: clamp(25px, 2.3vw, 33px); }
.gs-contact-copy > p { font-size: 14px; margin-top: 17px; line-height: 1.9; }
.gs-contact-note { display: flex; gap: 8px; align-items: center; font-size: 12px; color: #768ba6; margin-top: 35px; }
.gs-contact-note svg { width: 16px; height: 16px; }
.gs-contact-form { background: #fff; border-radius: 8px; padding: 25px; border: 1px solid #edf1f7; box-shadow: 0 8px 24px #325a8710; min-width: 0; }
.gs-contact .geo-lead-form { border: 0; padding: 0; border-radius: 0; box-shadow: none; background: transparent; }
.gs-contact fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; min-width: 0; padding: 0; border: 0; }
.gs-contact fieldset > div { margin: 0; min-width: 0; }
.gs-contact fieldset > div:has(textarea), .gs-contact fieldset > button, .gs-contact fieldset > div:has(select), .gs-contact fieldset > div:nth-of-type(n+4) { grid-column: 1 / -1; }
.gs-contact fieldset > div:has(input[name="website"]) { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gs-contact .geo-lead-form label { display: block; color: #30445f; font-size: 12px; font-weight: 600; margin-bottom: 7px; }
.ga-public .gs-contact .geo-lead-form input:not([type="hidden"]):not([type="checkbox"]), .ga-public .gs-contact .geo-lead-form textarea, .ga-public .gs-contact .geo-lead-form select { width: 100%; border: 1px solid #cedaeb; border-radius: 4px; min-height: 39px; padding: 9px 11px; background: #fff; color: #243d5f; font-size: 13px; box-shadow: none; }
.gs-contact .geo-lead-form textarea { min-height: 82px; resize: vertical; }
.ga-public .gs-contact .geo-lead-form button[type='submit'] { background: var(--gs-blue); color: #fff; border: 0; border-radius: 4px; padding: 11px 22px; font-size: 13px; font-weight: 650; cursor: pointer; }
.ga-public .gs-contact .geo-lead-form button[type='submit']:hover { background: #184bc1; }
.gs-contact .geo-lead-form .text-red-600 { color: #b42318; font-size: 12px; }
.ga-service .gs-privacy-note { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 12px; font-size: 10px; color: #8594a9; }
.gs-privacy-note svg { width: 11px; height: 11px; }
.gs-contact-unavailable { padding: 25px 12px; text-align: center; }
.gs-contact-unavailable > svg { color: #7b9bc3; width: 30px; height: 30px; margin: 0 auto 14px; }
.ga-service .gs-contact-unavailable h3 { font-size: 18px; margin-bottom: 12px; }.ga-service .gs-contact-unavailable p { font-size: 13px; }
.gs-insights { padding-top: 30px; padding-bottom: 30px; }
.gs-insights-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 26px; }
.gs-insights-heading > a { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; }.gs-insights-heading svg { width: 15px; height: 15px; }
.ga-public a:focus-visible, .ga-service summary:focus-visible, .ga-service button:focus-visible, .ga-service input:focus-visible, .ga-service textarea:focus-visible, .ga-service select:focus-visible { outline: 3px solid #82adfa; outline-offset: 4px; }
@media (min-width: 1100px) { html:focus-within { scroll-behavior: smooth; } }
@media (max-width: 1100px) {
    .gs-wrap, .ga-public .ga-header > .ga-container, .ga-public .ga-footer > .ga-container { padding-inline: 30px; }
    .gs-hero-grid { min-height: 570px; grid-template-columns: 1fr 1fr; }.gs-hero-visual { transform: scale(.84); transform-origin: left center; margin-left: -35px; }
    .gs-tablet-break { display: block; }.gs-desktop-break { display: none; }.gs-hero-copy > p { font-size: 15px; max-width: 350px; }.gs-hero-copy h1 { font-size: 43px; }
    .gs-pillars { gap: 20px; }.gs-pillar { padding-right: 18px; }.gs-pillar-heading { align-items: flex-start; }.gs-icon { width: 38px; height: 38px; }.ga-service .gs-pillar h3 { font-size: 16px; }.gs-pillar-heading p { max-width: 170px; }
    .gs-scene-docs { padding-inline: 11px; }.gs-check-sheet { padding-inline: 12px; }.gs-scene-report { padding-inline: 10px; }.gs-report-art { width: 60px; opacity: .55; }
    .gs-process-grid { grid-template-columns: 250px 1fr; gap: 28px; }.gs-steps { gap: 12px; }.gs-step-circle { width: 72px; height: 72px; }.gs-step-circle::after { right: -23px; }
    .gs-audience { padding-inline: 22px; gap: 13px; }.gs-contact { padding: 30px; gap: 30px; }.gs-contact-form { padding: 20px; }
}
@media (max-width: 800px) {
    .gs-wrap, .ga-public .ga-header > .ga-container, .ga-public .ga-footer > .ga-container { padding-inline: 22px; }
    .ga-public .ga-nav { display: none; }.ga-public .ga-mobile-menu { display: inline-flex; }.ga-public .ga-header-content { min-height: 70px; }.ga-public .ga-brand-text { font-size: 25px; }
    .gs-hero-grid { grid-template-columns: minmax(0, 1fr); }.gs-hero-copy { min-width: 0; padding: 52px 0 12px; text-align: center; }.gs-hero-copy .gs-small-rule { margin: 0 auto 23px; }.ga-service .gs-hero-copy h1 { font-size: clamp(34px, 6vw, 47px); line-height: 1.3; margin-bottom: 20px; }.gs-tablet-break { display: none; }.gs-hero-copy > p { margin-inline: auto; max-width: 460px; }.gs-actions { justify-content: center; margin-top: 24px; }.gs-hero-note { margin-top: 16px; }
    .gs-hero-visual { transform: scale(.9); transform-origin: top center; height: 530px; width: 620px; left: 50%; margin-left: -310px; margin-top: 5px; margin-bottom: -35px; }.gs-architecture { inset: -15px -50px -60px; }
    .gs-audience-grid { padding-block: 25px; gap: 14px; }.gs-audience { flex-direction: column; padding-inline: 15px; gap: 11px; }.gs-audience > svg { width: 26px; height: 26px; }.ga-service .gs-audience h2 { font-size: 14px; }.ga-service .gs-audience p { font-size: 11px; }
    .gs-section { padding-block: 52px; }.gs-pillars { grid-template-columns: 1fr; gap: 28px; }.gs-pillar { border-right: 0; padding-right: 0; display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; gap: 20px; border-bottom: 1px solid var(--gs-line); padding-bottom: 28px; }.gs-pillar:last-child { border-bottom: 0; padding-bottom: 0; }.gs-pillar-heading { flex-direction: column; gap: 14px; }.gs-pillar-heading p { max-width: none; }.gs-mini-scene { margin-top: 0; height: 240px; }.ga-service .gs-pillar h3 { font-size: 19px; }
    .gs-process { padding-top: 46px; }.gs-process-grid { grid-template-columns: 1fr; gap: 30px; }.gs-process-intro { display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; }.gs-process-intro h2 { align-self: end; }.gs-process-intro p { grid-column: 1; align-self: start; }.gs-report-cover { grid-column: 2; grid-row: 1 / 3; margin: 10px 0 -15px; width: 220px; height: 180px; }.gs-steps { padding-bottom: 38px; }.gs-step-circle { width: 80px; height: 80px; }.gs-step-circle::after { right: -35px; }
    .gs-cases { padding-bottom: 12px; }.gs-faq { padding-top: 32px; padding-bottom: 20px; }.gs-contact-section { padding-top: 25px; padding-bottom: 45px; }.gs-contact { grid-template-columns: 1fr; gap: 28px; padding: 30px; }.gs-contact-note { margin-top: 20px; }.gs-contact-copy > p br { display: none; }.gs-contact-copy .gs-small-rule { margin-bottom: 18px; }
}
@media (max-width: 480px) {
    .gs-wrap, .ga-public .ga-header > .ga-container, .ga-public .ga-footer > .ga-container { padding-inline: 20px; }.gs-hero-copy { padding-top: 43px; }.ga-service .gs-hero-copy h1 { font-size: clamp(28px, 7.8vw, 34px); }.gs-hero-copy > p { font-size: 13px; }.gs-actions { gap: 10px; }.gs-button { padding: 12px 17px; font-size: 13px; min-height: 47px; }.gs-button svg { width: 14px; height: 14px; }
    .gs-hero-visual { transform: scale(.59); height: 540px; margin-bottom: -211px; }.gs-dossier { left: 139px; }.gs-visual-cards { left: 48px; right: 25px; }.gs-visual-caption { right: 25px; }
    .gs-audience-grid { gap: 0; }.gs-audience { padding-inline: 12px; }.gs-audience > svg { width: 23px; height: 23px; }.ga-service .gs-audience h2 { font-size: 12px; }.ga-service .gs-audience p { font-size: 10px; line-height: 1.8; }
    .gs-mobile-break { display: block; }.gs-section-heading { margin-bottom: 27px; }.gs-section-heading > p { font-size: 12px; }.ga-service .gs-section-heading h2, .ga-service .gs-process-intro h2 { font-size: 26px; }.gs-pillars { gap: 25px; }.gs-pillar { grid-template-columns: 1fr; gap: 16px; padding-bottom: 26px; }.gs-pillar-heading { flex-direction: row; gap: 12px; align-items: center; }.gs-icon { width: 42px; height: 42px; }.ga-service .gs-pillar h3 { font-size: 18px; }.gs-mini-scene { height: 250px; }.gs-scene-docs { padding-inline: 36px; }.gs-check-sheet { padding-inline: 24px; }.gs-scene-report { padding-inline: 33px; }.gs-report-art { opacity: .8; width: 95px; }
    .gs-process-intro { grid-template-columns: 1fr; }.gs-process-intro h2 br { display: none; }.gs-process-intro > p { max-width: none; font-size: 12px; }.gs-report-cover { display: none; }.gs-steps { grid-template-columns: 1fr 1fr; gap: 30px 25px; padding-bottom: 32px; }.gs-step-circle { width: 70px; height: 70px; margin-bottom: 15px; }.gs-step-circle::after { right: -37px; }.gs-steps > li:nth-child(2) .gs-step-circle::after { display: none; }.ga-service .gs-steps h3 { font-size: 15px; }.ga-service .gs-steps p { font-size: 11px; min-height: 38px; }.gs-step-deliverable { margin-top: 28px; font-size: 11px; }.gs-step-deliverable::before { height: 16px; top: -22px; }
    .gs-case-placeholder { height: 142px; font-size: 12px; }.gs-faq-item summary { padding: 17px 15px; font-size: 13px; }.ga-service .gs-faq-item p { padding: 0 15px 18px; font-size: 12px; }
    .gs-contact { padding: 24px 18px; margin-inline: -4px; border-radius: 9px; }.ga-service .gs-contact-copy h2 { font-size: 25px; }.gs-contact-copy > p { font-size: 12px; }.gs-contact-note { display: none; }.gs-contact-form { padding: 18px 15px; }.gs-contact fieldset { grid-template-columns: 1fr; gap: 15px; }.gs-contact fieldset > div { grid-column: 1; }.gs-insights-heading { align-items: flex-start; }.gs-insights-heading > a { font-size: 11px; white-space: nowrap; margin-top: 8px; }
    .ga-public .ga-footer-content { gap: 16px; font-size: 10px; }.gs-footer-brand { font-size: 21px; }.gs-footer-archive { font-size: 10px; }
}
@media (max-width: 360px) { .gs-hero-visual { transform: scale(.46); margin-bottom: -270px; }.gs-button { padding-inline: 14px; font-size: 12px; }.gs-footer-brand { width: 100%; } }
@media (prefers-reduced-motion: reduce) { html:focus-within { scroll-behavior: auto; }.ga-service a { transition: none; } }
