@charset "UTF-8";
/* Traffic Bot homepage: Google-style search simulation (GoogleSim.astro + landing-sim.js).
   Every class starts with gs-. The search pages are drawn on a canvas with a fixed minimum width
   (desktop 620px, phone 390px) and scaled into the frame with --gs-k, so the layout stays faithful
   at every size. Traffic Bot's own layer (HUD, tag, key cap) keeps real pixel sizes.
   Layout switch: container width < 520px uses Google's phone layout. */

.gs {
  --gs-link: #1a0dab; --gs-ink: #202124; --gs-text: #4d5156; --gs-grey: #70757a; --gs-line: #dadce0; --gs-soft: #f1f3f4;
  --gs-blue: #1a73e8; --gs-btn: #0b57d0; --gs-go: #4285f4; --gs-green: #188038; --gs-star: #fbbc04; --gs-star-off: #dadce0;
  --gs-font: arial, sans-serif; --gs-sans: "Google Sans", Roboto, arial, sans-serif;
  --gs-land: #eceef1; --gs-street: #fff; --gs-art: #fff; --gs-art-edge: #d6d9de; --gs-hw: #fde293; --gs-hw-edge: #f0c24f;
  --gs-park: #c3ebcd; --gs-water: #9dd2f6; --gs-map-t: #5f6368; --gs-map-hood: #7c8187; --gs-map-park: #137333; --gs-map-water: #3474b8;
  --gs-pin: #ea4335; --gs-pin-edge: #b31412; --gs-pin-dot: #a50e0e; --gs-pin-t: #c5221f;
  --gs-load: #1a73e8;
  --gs-tb: #ff5a0a; --gs-tb-ink: #0d1016; --gs-tb-ease: cubic-bezier(.16, 1, .3, 1);
  --gs-h: 470px;
  container: gs / inline-size;
  position: relative; display: block; color: var(--gs-ink); text-align: left; font-size: 14px; line-height: normal;
}
/* Legal kill-switch: an unbranded engine, no Google colours, marks or product names. */
.gs[data-brand="neutral"] {
  --gs-link: #1d2433; --gs-go: #5a6373; --gs-btn: #1d2433; --gs-star: #414b5f; --gs-star-off: #d3d8df; --gs-green: #13833b;
  --gs-font: var(--font, system-ui, sans-serif); --gs-sans: var(--font, system-ui, sans-serif);
  --gs-land: #eef0f3; --gs-art-edge: #d9dde3; --gs-hw: #e4e7ec; --gs-hw-edge: #cfd4db; --gs-park: #dce7df; --gs-water: #d3dde8;
  --gs-map-park: #4f6b58; --gs-map-water: #5a6f86;
  --gs-pin: #2a3140; --gs-pin-edge: #080a0f; --gs-pin-dot: #fff; --gs-pin-t: #2a3140; --gs-load: #5a6373;
}
.gs-hero { --gs-h: 520px; }
@media (min-width: 1021px) { .gs-hero { --gs-h: 552px; } }
@media (max-width: 760px) { .gs-hero { width: min(100%, 342px); margin-inline: auto; } }
:where(.gs svg:not([fill])) { fill: currentColor; }
.gs.gs-reset, .gs.gs-reset * { transition: none !important; }

/* ------------------------------------------------------------------ frame */
.gs-win { --gs-k: 1; position: relative; overflow: hidden; isolation: isolate; background: #fff; border: 1px solid #e3e6eb; border-radius: 18px; box-shadow: 0 1px 0 rgb(255 255 255 / .9) inset, 0 2px 4px rgb(20 24 34 / .05), 0 44px 90px -36px rgb(20 24 34 / .36), 0 100px 170px -70px rgb(20 24 34 / .26); }
.gs-bar { position: relative; z-index: 3; display: flex; align-items: center; gap: 12px; height: 44px; padding: 0 10px 0 14px; background: #f8f9fb; border-bottom: 1px solid #e3e6eb; font-family: var(--font, system-ui, sans-serif); }
.gs-lights { display: flex; gap: 6px; flex: none; }
.gs-lights i { width: 10px; height: 10px; border-radius: 50%; background: #d3d8df; }
.gs-nav { display: flex; gap: 6px; flex: none; color: #9aa0a6; }
.gs-nav svg { width: 16px; height: 16px; }
.gs-nav svg:nth-child(2) { opacity: .4; }
.gs-url { flex: 1; min-width: 0; max-width: 520px; margin-inline: auto; display: flex; align-items: center; gap: 7px; height: 28px; padding: 0 12px; border-radius: 999px; background: #eceff2; font: 500 12px/1 var(--mono, ui-monospace, monospace); color: #414b5f; white-space: nowrap; overflow: hidden; }
.gs-url svg { flex: none; width: 13px; height: 13px; color: #5a6373; }
.gs-url span { overflow: hidden; text-overflow: ellipsis; }
.gs-chip { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; background: #fff1e8; color: var(--gs-tb); font: 800 12px/1 var(--font, system-ui, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.gs-chip i { width: 6px; height: 6px; border-radius: 50%; background: var(--gs-tb); animation: gsLed 2.4s ease-in-out infinite; }
.gs-view { position: relative; z-index: 1; height: var(--gs-h); overflow: hidden; background: #fff; contain: layout paint; }

/* stage: fills a host with a height (the pinned 16:10 frame), else 16:10 on its own */
.gs-stage { height: 100%; }
.gs-stage .gs-win { height: 100%; display: flex; flex-direction: column; border: 0; border-radius: 0; box-shadow: none; }
.gs-stage .gs-bar { flex: none; height: 38px; }
.gs-stage .gs-view { flex: 1 1 auto; min-height: 0; height: auto; aspect-ratio: 16 / 10; }
.gs-stage .gs-ad { display: none; }

/* ------------------------------------------------------------------ canvas and scenes */
.gs-canvas { position: absolute; left: 0; top: 0; width: calc(100% / var(--gs-k)); height: calc(100% / var(--gs-k)); transform: scale(var(--gs-k)); transform-origin: 0 0; font: 400 14px/1.43 var(--gs-font); color: var(--gs-ink); transition: opacity .5s ease; }
.gs[data-fade] .gs-canvas, .gs[data-fade] .gs-hud { opacity: 0 !important; }
.gs-scene { position: absolute; inset: 0; overflow: hidden; background: #fff; opacity: 0; visibility: hidden; transition: opacity .18s linear, visibility 0s linear .18s; }
.gs[data-scene="home"] .gs-home, .gs[data-scene="serp"] .gs-serp, .gs[data-scene="site"] .gs-site { opacity: 1; visibility: visible; transition: opacity .18s linear, visibility 0s; }
.gs-ico { display: inline-grid; place-items: center; flex: none; width: 24px; height: 24px; color: #5f6368; }
.gs-ico svg { display: block; width: 100%; height: 100%; }
.gs-signin { display: inline-flex; align-items: center; flex: none; height: 40px; padding: 0 23px; border-radius: 20px; background: var(--gs-btn); color: #fff; font: 500 14px/1 var(--gs-sans); white-space: nowrap; }
.gs-logo { display: block; }
.gs-nlogo { display: inline-flex; align-items: center; gap: .28em; font: 800 1em/1 var(--font, system-ui, sans-serif); letter-spacing: -.05em; color: #2a3140; }
.gs-nlogo i, .gs-nmark i { position: relative; display: block; width: .82em; height: .82em; border-radius: 50%; box-shadow: inset 0 0 0 .1em #2a3140; background: radial-gradient(circle, #b4bbc6 .05em, transparent .07em) 0 0 / .2em .2em; }
.gs-nlogo i::after, .gs-nmark i::after { content: ""; position: absolute; right: .12em; top: .12em; width: .2em; height: .2em; border-radius: 50%; background: #2a3140; }
.gs-gmark { display: block; width: 24px; height: 24px; }
.gs-nmark { font-size: 24px; display: grid; place-items: center; }

/* ------------------------------------------------------------------ search home */
.gs-home { display: flex; flex-direction: column; }
.gs-home-top { flex: none; display: flex; align-items: center; justify-content: flex-end; gap: 15px; height: 60px; padding: 0 14px; font-size: 13px; color: #1f1f1f; }
.gs-home-top .gs-apps { color: #5f6368; }
.gs-home-mid { flex: 1; min-height: 0; display: flex; flex-direction: column; align-items: center; padding-top: 44px; }
.gs-home-logo { font-size: 64px; }
.gs-home-logo .gs-logo:not(.gs-nlogo) { width: 272px; height: 92px; }
.gs-hbox { position: relative; z-index: 2; width: min(584px, 100% - 36px); margin-top: 28px; }
.gs-hbox-row { position: relative; z-index: 1; display: flex; align-items: center; gap: 13px; height: 46px; padding: 0 14px 0 15px; border: 1px solid #dfe1e5; border-radius: 24px; background: #fff; }
.gs-hbox-mag { width: 20px; height: 20px; color: #9aa0a6; }
.gs-hbox-t { flex: 1; min-width: 0; display: flex; align-items: center; height: 24px; font-size: 16px; color: #202124; white-space: pre; overflow: hidden; }
.gs-caret { flex: none; width: 1px; height: 20px; margin-left: 1px; background: #202124; animation: gsCaret 1.06s steps(1) infinite; }
.gs-hbox-ic { width: 24px; height: 24px; }
.gs[data-sug] .gs-hbox-row { border-color: transparent; border-radius: 24px 24px 0 0; box-shadow: 0 1px 6px rgb(32 33 36 / .28); }
.gs-sug { position: absolute; left: 0; right: 0; top: 46px; display: none; padding-bottom: 14px; border-radius: 0 0 24px 24px; background: #fff; box-shadow: 0 4px 6px rgb(32 33 36 / .28); clip-path: inset(0 -12px -12px); }
.gs[data-sug] .gs-sug { display: block; }
.gs-sug::before { content: ""; display: block; height: 1px; margin: 0 14px 5px 16px; background: #e8eaed; }
.gs-sug-list { list-style: none; margin: 0; padding: 0; }
.gs-sug-list li { display: flex; align-items: center; gap: 13px; height: 34px; padding: 0 20px 0 16px; font-size: 16px; color: #212121; }
.gs-sug-list span { min-width: 0; white-space: pre; overflow: hidden; }
.gs-sug-list svg { flex: none; width: 20px; height: 20px; fill: #9aa0a6; }
.gs-sug-list b { font-weight: 700; }
.gs-sug-btns { display: flex; justify-content: center; gap: 12px; padding: 16px 0 6px; }
.gs-sug-rep { padding: 0 20px; text-align: right; font-size: 12px; font-style: italic; color: #70757a; }
.gs-hbtn { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 8px; background: #f8f9fa; border: 1px solid #f8f9fa; font-size: 14px; color: #3c4043; white-space: nowrap; }
.gs-home-btns { display: flex; gap: 12px; margin-top: 29px; }
.gs-home-ft { flex: none; background: #f2f2f2; font-size: 14px; color: #70757a; }
.gs-home-ft1 { padding: 14px 24px; border-bottom: 1px solid #dadce0; }
.gs-home-ft2 { display: flex; gap: 22px; padding: 14px 24px; white-space: nowrap; }
.gs-home-ft-r { margin-left: auto; display: flex; gap: 22px; }
.gs-home-ft2 > span:nth-child(4) { display: none; }
/* Enter: Traffic Bot's key press, drawn over the page */
.gs-key { position: absolute; right: 0; bottom: calc(100% + 10px); z-index: 3; display: inline-flex; align-items: center; gap: .5em; padding: .5em .72em .5em .6em; border-radius: .6em; background: var(--gs-tb-ink); color: #fff; font-family: var(--font, system-ui, sans-serif); font-size: calc(12px / var(--gs-k)); font-weight: 700; line-height: 1; white-space: nowrap; box-shadow: 0 .22em 0 #000, 0 1.2em 2em -1em rgb(8 10 15 / .55); opacity: 0; transform: translateY(.6em) scale(.92); transition: opacity .3s var(--gs-tb-ease), transform .45s var(--gs-tb-ease), box-shadow .12s ease; pointer-events: none; }
.gs-key i { width: .55em; height: .55em; border-radius: 50%; background: var(--gs-tb); box-shadow: 0 0 .6em rgb(255 90 10 / .8); }
.gs-key svg { width: 1.25em; height: 1.25em; }
.gs[data-key] .gs-key { opacity: 1; transform: none; }
.gs[data-key="2"] .gs-key { transform: translateY(.16em) scale(.97); box-shadow: 0 .06em 0 #000, 0 .8em 1.4em -1em rgb(8 10 15 / .55); transition-duration: .08s; }

/* ------------------------------------------------------------------ results page: header */
.gs-hd { position: absolute; z-index: 3; left: 0; right: 0; top: 0; height: 72px; display: flex; align-items: center; gap: 22px; padding: 0 16px 0 20px; background: #fff; transition: box-shadow .15s linear; }
.gs[data-scrolled] .gs-hd { box-shadow: 0 1px 6px rgb(32 33 36 / .2); }
.gs-hd-logo { flex: none; display: block; font-size: 25px; }
.gs-hd-logo .gs-logo:not(.gs-nlogo) { width: 92px; height: 30px; }
.gs-q { flex: 1 1 auto; min-width: 0; max-width: 692px; display: flex; align-items: center; gap: 12px; height: 46px; padding: 0 12px 0 20px; border-radius: 24px; background: #fff; box-shadow: 0 2px 5px 1px rgb(64 60 67 / .16); }
.gs-q-t { flex: 1; min-width: 0; font-size: 16px; color: #202124; white-space: nowrap; overflow: hidden; }
.gs-q-x { display: none; color: #70757a; }
.gs-q-sep { display: none; flex: none; width: 1px; height: 28px; background: #dadce0; }
.gs-q-go { color: var(--gs-go); }
.gs-hd-r { flex: none; display: flex; align-items: center; gap: 10px; }
.gs-hd-ic { display: none; }
.gs-mhd, .gs-mtop, .gs-mpag, .gs-lp-mchips { display: none; }

/* pages scroll inside .gs-pages (translateY driven by the script) */
.gs-pages { position: absolute; left: 0; right: 0; top: 72px; bottom: 0; overflow: hidden; }
.gs-page { --gs-gut: clamp(20px, calc(100% - 672px), 136px); position: absolute; left: 0; right: 0; top: 0; background: #fff; visibility: hidden; }
.gs[data-page="1"] .gs-p1, .gs[data-page="2"] .gs-p2 { visibility: visible; }
.gs-tabs { display: flex; align-items: flex-end; height: 46px; padding: 0 12px 0 calc(var(--gs-gut) - 12px); border-bottom: 1px solid #ebebeb; font: 500 14px/1 var(--gs-sans); color: #5f6368; white-space: nowrap; }
.gs-tabs-in { display: flex; min-width: 0; overflow: hidden; }
.gs-tab { position: relative; display: inline-flex; align-items: center; gap: 2px; padding: 0 12px 14px; }
.gs-tab.on { color: #1f1f1f; }
.gs-tab.on::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: #1f1f1f; }
.gs-tab-more svg { width: 18px; height: 18px; margin-right: -4px; }
.gs-tools { margin-left: auto; }
.gs-col { max-width: 652px; margin: 0 20px 0 var(--gs-gut); padding-top: 22px; }

/* ------------------------------------------------------------------ results */
.gs-r { position: relative; margin-bottom: 30px; }
.gs-src { display: flex; align-items: center; gap: 12px; height: 28px; }
.gs-fav { flex: none; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #f3f5f6; border: 1px solid #dadce0; }
.gs-fav i { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 4px; background: var(--c, #5f6368); color: #fff; font: 700 11px/1 arial, sans-serif; font-style: normal; }
.gs-fav i.is-round { border-radius: 50%; }
.gs-fav .gs-fav-nw { background: #0f766e; border-radius: 5px; }
.gs-fav-nw svg { width: 13px; height: 13px; fill: #fff; }
.gs-src-t { display: flex; flex-direction: column; min-width: 0; }
.gs-sname { font-size: 14px; line-height: 20px; color: #202124; white-space: nowrap; }
.gs-cite { display: block; font-size: 12px; line-height: 18px; color: var(--gs-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-more3 { width: 18px; height: 18px; margin: -2px 0 0 8px; vertical-align: middle; color: #70757a; }
.gs-t { padding-top: 5px; margin-bottom: 3px; font-size: 20px; line-height: 26px; color: var(--gs-link); }
.gs-t span.is-hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.gs-s { font-size: 14px; line-height: 22px; color: var(--gs-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gs-s em { font-style: normal; font-weight: 700; color: #5f6368; }
.gs-date { color: #70757a; }
.gs-sl { display: flex; flex-wrap: wrap; margin-top: 6px; font-size: 14px; line-height: 22px; color: var(--gs-link); }
.gs-sl span + span::before { content: "\00B7"; padding: 0 8px; color: #70757a; }
.gs[data-brand="neutral"] .gs-t { font-weight: 600; letter-spacing: -.01em; }
.gs[data-brand="neutral"] .gs-sl { color: #414b5f; }
.gs-ad { margin-bottom: 26px; }
.gs-ad .gs-sl { display: none; }
.gs-ad .gs-r { margin: 0; }
.gs-ad-lbl { margin-bottom: 10px; font: 700 14px/20px var(--gs-font); color: #202124; }
.gs-blk-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; font: 400 20px/26px var(--gs-sans); color: #202124; }
.gs-blk-h .gs-ico { width: 20px; height: 20px; color: #70757a; }

/* Maps local pack */
.gs-lp { margin-bottom: 34px; }
.gs-chips { display: none; gap: 8px; margin-bottom: 12px; overflow: hidden; }
.gs-chipf { flex: none; display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 12px; border: 1px solid #dadce0; border-radius: 8px; font: 500 14px/1 var(--gs-sans); color: #3c4043; white-space: nowrap; }
.gs-chipf svg { width: 18px; height: 18px; margin-right: -5px; }
.gs-map { position: relative; height: 172px; overflow: hidden; border-radius: 8px; background: var(--gs-land); box-shadow: inset 0 0 0 1px rgb(0 0 0 / .04); }
.gs-map svg { display: block; width: 100%; height: 100%; }
.gs-m-land { fill: var(--gs-land); }
.gs-m-st { fill: none; stroke: var(--gs-street); stroke-width: 3; }
.gs-m-art-c { fill: none; stroke: var(--gs-art-edge); stroke-width: 7.5; }
.gs-m-art { fill: none; stroke: var(--gs-art); stroke-width: 5.5; }
.gs-m-hw-c, .gs-m-hwy-c { fill: none; stroke: var(--gs-hw-edge); stroke-width: 8; }
.gs-m-hw, .gs-m-hwy { fill: none; stroke: var(--gs-hw); stroke-width: 6; }
.gs-m-canal { fill: none; stroke: var(--gs-water); stroke-width: 6; stroke-linecap: round; }
.gs-m-park { fill: var(--gs-park); }
.gs-m-water { fill: var(--gs-water); }
.gs-map text { font-family: arial, sans-serif; paint-order: stroke; stroke: #fff; stroke-width: 3px; stroke-linejoin: round; }
.gs-m-tx { font-size: 9.5px; fill: var(--gs-map-t); }
.gs-m-hood { font-size: 8.5px; letter-spacing: .16em; fill: var(--gs-map-hood); stroke-width: 2.4px; }
.gs-m-pk { font-size: 10px; fill: var(--gs-map-park); stroke: rgb(255 255 255 / .8); }
.gs .gs-m-wt { font-size: 10px; font-style: italic; fill: var(--gs-map-water); stroke: none; }
.gs-m-pin path { fill: var(--gs-pin); stroke: var(--gs-pin-edge); stroke-width: .8; }
.gs-m-pin circle { fill: var(--gs-pin-dot); }
.gs .gs-m-pin-sh { fill: rgb(0 0 0 / .28); }
.gs-m-pin text { font-size: 11.5px; font-weight: 700; fill: var(--gs-pin-t); stroke-width: 3.2px; }
.gs-lp-list { padding-top: 6px; }
.gs-lp-i { display: flex; align-items: flex-start; gap: 16px; padding: 10px 0; }
.gs-lp-txt { flex: 1; min-width: 0; }
.gs-lp-n { font: 400 16px/24px var(--gs-sans); color: #1f1f1f; }
.gs-lp-l { display: flex; align-items: center; font-size: 14px; line-height: 20px; color: var(--gs-text); white-space: nowrap; overflow: hidden; }
.gs-rt { margin-right: 4px; }
.gs-stars { display: inline-flex; gap: 1px; margin-right: 4px; }
.gs-stars i { width: 13px; height: 13px; background: linear-gradient(90deg, var(--gs-star) calc(var(--f) * 100%), var(--gs-star-off) 0); clip-path: polygon(50% 0, 61.8% 35.4%, 100% 36.3%, 69.1% 58.8%, 80.9% 95.1%, 50% 72.6%, 19.1% 95.1%, 30.9% 58.8%, 0 36.3%, 38.2% 35.4%); }
.gs-rv { color: #70757a; }
.gs-dot { padding: 0 5px; color: #70757a; }
.gs-open { color: var(--gs-green); }
.gs-lp-q { display: none; font-size: 14px; line-height: 20px; color: var(--gs-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-lp-acts { flex: none; display: flex; gap: 8px; padding-top: 4px; }
.gs-lp-a { display: flex; flex-direction: column; align-items: center; gap: 5px; width: 62px; font: 500 12px/16px var(--gs-sans); color: var(--gs-blue); }
.gs-lp-a i { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #dadce0; }
.gs-lp-a svg { width: 18px; height: 18px; }
.gs-lp-more { display: flex; align-items: center; justify-content: center; gap: 8px; height: 40px; margin-top: 8px; border: 1px solid #dadce0; border-radius: 20px; font: 500 14px/1 var(--gs-sans); color: #1f1f1f; }
.gs-lp-more svg { width: 18px; height: 18px; }
.gs[data-brand="neutral"] .gs-lp-a { color: #2a3140; }

/* People also ask */
.gs-paa { margin-bottom: 30px; }
.gs-paa-q { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; border-top: 1px solid #dadce0; font-size: 16px; line-height: 24px; color: #202124; }
.gs-paa-q .gs-ico { color: #70757a; }
.gs-fb { padding-top: 8px; border-top: 1px solid #dadce0; text-align: right; font-size: 12px; color: #70757a; }

/* pagination: "Gooooooooogle" built from the logo's own letters */
.gs-pag { padding: 14px 0 34px; }
.gs-pag-g { display: flex; justify-content: center; align-items: flex-start; }
.gs-pc { position: relative; display: flex; flex-direction: column; align-items: center; }
.gs-gl { display: block; height: 36.8px; }
.gs-pc-o .gs-gl { fill: #fbbc05; }
.gs-pc-o.is-cur .gs-gl { fill: #ea4335; }
.gs-pn { min-width: 1em; margin-top: 3px; text-align: center; font-size: 14px; line-height: 20px; color: var(--gs-link); }
.gs-pn.is-hover { text-decoration: underline; }
.gs-pc-o.is-cur .gs-pn { color: #202124; }
.gs-pc-G { margin-right: 1px; }
.gs-pc-G .gs-pn { position: absolute; top: 100%; margin-top: -17px; }
.gs-gle { display: flex; align-items: flex-start; }
.gs-pc-arr { display: block; width: 20px; height: 20px; margin-top: 10px; color: #4285f4; }
.gs-pc-prev { position: absolute; right: 100%; top: 0; margin-right: 2px; }
.gs-pc-gle .gs-pn { align-self: flex-start; margin-left: 2px; }
.gs-pag-n { display: flex; justify-content: center; align-items: center; gap: 4px; font-size: 14px; color: var(--gs-link); }
.gs-pag-d { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; }
.gs-pag-d.is-cur { background: #2a3140; color: #fff; }
.gs-pag-d.is-hover { text-decoration: underline; }
.gs-pag-w { padding: 0 10px; font-weight: 600; }
.gs-foot { background: #f2f2f2; font-size: 14px; line-height: 20px; color: #70757a; }
.gs-foot-1 { padding: 14px 20px 14px var(--gs-gut); border-bottom: 1px solid #dadce0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-foot-1 b { font-weight: 400; color: #202124; }
.gs-foot-2 { display: flex; gap: 28px; padding: 14px 20px 22px var(--gs-gut); }

/* ------------------------------------------------------------------ Traffic Bot: ring + tag on the client result */
.gs-r-client { isolation: isolate; }
.gs-ring { position: absolute; inset: -13px -14px -11px; z-index: -1; border-radius: 14px; border: calc(2px / var(--gs-k)) solid var(--gs-tb); background: rgb(255 90 10 / .045); box-shadow: 0 0 0 calc(6px / var(--gs-k)) rgb(255 90 10 / .1); opacity: 0; transform: scale(1.035); transition: opacity .5s var(--gs-tb-ease), transform .8s var(--gs-tb-ease); pointer-events: none; }
.gs[data-found] .gs-ring { opacity: 1; transform: none; }
.gs-tag { position: absolute; right: 14px; top: 0; display: inline-flex; align-items: center; gap: .55em; padding: .45em .8em .45em .45em; border-radius: 999px; background: var(--gs-tb-ink); color: #fff; font-family: var(--font, system-ui, sans-serif); font-size: calc(12px / var(--gs-k)); font-weight: 700; line-height: 1; letter-spacing: -.005em; white-space: nowrap; box-shadow: 0 .6em 1.4em -.5em rgb(8 10 15 / .5); transform: translateY(-58%) scale(.9); transform-origin: 100% 50%; transition: transform .8s var(--gs-tb-ease); }
.gs[data-found] .gs-tag { transform: translateY(-58%); }
.gs-tag i { display: block; width: 1.4em; height: 1.4em; }
.gs-tag i svg { display: block; width: 100%; height: 100%; }
.gs-tag::after { content: ""; width: .5em; height: .5em; margin-left: .1em; border-radius: 50%; background: var(--gs-tb); box-shadow: 0 0 0 0 rgb(255 90 10 / .6); animation: gsPing 1.6s var(--gs-tb-ease) infinite; }

/* pointer, tap, loading bar */
.gs-cur { position: absolute; left: 0; top: 0; z-index: 10; width: 0; height: 0; opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.gs-cur.is-on { opacity: 1; }
.gs-cur svg { position: absolute; display: block; filter: drop-shadow(0 2px 2.5px rgb(0 0 0 / .32)); transform-origin: 3px 2px; transition: transform .12s ease, opacity .1s linear; }
.gs-cur-a { left: -2px; top: -1.4px; width: 18px; height: 21.6px; }
.gs-cur-h { left: -7.5px; top: -1.3px; width: 22px; height: 23.8px; opacity: 0; }
.gs-cur.is-hand .gs-cur-a { opacity: 0; }
.gs-cur.is-hand .gs-cur-h { opacity: 1; }
.gs-cur.is-press svg { transform: scale(.86); }
.gs-rip, .gs-tap i, .gs-tap::after { position: absolute; left: -16px; top: -16px; width: 32px; height: 32px; border-radius: 50%; opacity: 0; pointer-events: none; }
.gs-rip { border: calc(2px / var(--gs-k)) solid var(--gs-tb); background: rgb(255 90 10 / .14); }
.gs-rip.is-on { animation: gsRip .75s var(--gs-tb-ease) both; }
.gs-tap { position: absolute; left: 0; top: 0; z-index: 10; width: 0; height: 0; pointer-events: none; }
.gs-tap i { left: -22px; top: -22px; width: 44px; height: 44px; background: rgb(32 33 36 / .18); border: 2px solid rgb(255 255 255 / .95); box-shadow: 0 0 0 1px rgb(32 33 36 / .1), 0 4px 10px rgb(32 33 36 / .2); }
.gs-tap::after { content: ""; left: -22px; top: -22px; width: 44px; height: 44px; border: 2px solid var(--gs-tb); }
.gs-tap.is-on i { animation: gsTap .8s var(--gs-tb-ease) both; }
.gs-tap.is-on::after { animation: gsRip .8s .1s var(--gs-tb-ease) both; }
.gs-load { position: absolute; left: 0; top: 0; z-index: 6; width: 100%; height: 3px; background: var(--gs-load); transform: scaleX(0); transform-origin: 0 50%; opacity: 0; pointer-events: none; }

/* ------------------------------------------------------------------ Traffic Bot session HUD */
.gs-hud { position: absolute; z-index: 7; right: 12px; bottom: 12px; width: 214px; font-family: var(--font, system-ui, sans-serif); color: #eef1f6; opacity: 0; transform: translateY(12px) scale(.97); transform-origin: 100% 100%; transition: opacity .5s var(--gs-tb-ease), transform .8s var(--gs-tb-ease); pointer-events: none; }
.gs:not([data-hud="off"]) .gs-hud { opacity: 1; transform: none; }
.gs-hud-card { overflow: hidden; border-radius: 14px; background: #0d1016; border: 1px solid #1c2230; box-shadow: 0 24px 48px -20px rgb(8 10 15 / .6), 0 3px 8px rgb(8 10 15 / .2); }
.gs-hud-hd { display: flex; align-items: center; gap: 8px; padding: 9px 11px 9px 10px; background: #121620 radial-gradient(circle, rgb(255 255 255 / .08) .8px, transparent 1.1px) 0 0 / 5px 5px; border-bottom: 1px solid #1c2230; }
.gs-hud-tb { flex: none; display: block; width: 16px; height: 16px; }
.gs-hud-tb svg { display: block; width: 100%; height: 100%; }
.gs-hud-hd b { font-size: 12.5px; font-weight: 800; letter-spacing: -.01em; color: #fff; }
.gs-hud-live { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: #9aa3b4; }
.gs-hud-live i { width: 6px; height: 6px; border-radius: 50%; background: var(--gs-tb); box-shadow: 0 0 8px rgb(255 90 10 / .8); animation: gsLed 1.6s ease-in-out infinite; }
.gs[data-hud="logged"] .gs-hud-live i { animation: none; background: #3ad07a; box-shadow: 0 0 8px rgb(58 208 122 / .6); }
.gs-hud-rows { list-style: none; margin: 0; padding: 9px 11px 7px; display: grid; gap: 7px; }
.gs-hud-rows li { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 12px; line-height: 16px; }
.gs-spr { flex: none; display: block; color: #5b6475; }
.gs-hud-k { color: #9aa3b4; white-space: nowrap; }
.gs-hud-v { margin-left: auto; display: inline-flex; align-items: center; color: #fff; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.gs-hud-num { font-family: var(--mono, ui-monospace, monospace); font-size: 12.5px; }
.gs[data-hud="found"] .gs-hud-found .gs-hud-v { color: #ff8a4c; }
.gs[data-hud="found"] .gs-hud-found .gs-spr { color: var(--gs-tb); }
.gs li.gs-hud-meter { gap: 3px; padding: 1px 0 1px 19px; }
.gs-hud-meter i { flex: 1; max-width: 4px; height: 4px; border-radius: 50%; background: #262d3b; transition: background-color .2s linear; }
.gs-hud-meter i.on { background: var(--gs-tb); }
.gs-hud-pg { display: inline-flex; gap: 3px; margin-right: 7px; }
.gs-hud-pg i { width: 6px; height: 6px; border-radius: 50%; background: #262d3b; }
.gs:is([data-hud="visit"], [data-hud="logged"]) .gs-hud-pg i:first-child, .gs[data-pages="2"] .gs-hud-pg i { background: var(--gs-tb); }
.gs-hud-ft { display: flex; align-items: center; gap: 8px; padding: 9px 11px 10px; background: radial-gradient(circle, #2a3140 .9px, transparent 1.2px) 0 0 / 5px 3px repeat-x; font-size: 12px; font-weight: 600; color: #9aa3b4; }
.gs-hud-ok { flex: none; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: #1c2230; color: #5b6475; transition: background-color .3s ease, color .3s ease; }
.gs[data-hud="logged"] .gs-hud-ok { background: var(--gs-tb); color: #fff; box-shadow: 0 0 0 4px rgb(255 90 10 / .18); }
.gs[data-hud="logged"] .gs-hud-ft { color: #fff; }
.gs-hud-slim { display: none; align-items: center; gap: 8px; height: 34px; padding: 0 11px 0 9px; border-radius: 11px; background: #0d1016; border: 1px solid #1c2230; box-shadow: 0 16px 30px -16px rgb(8 10 15 / .6); font-size: 12px; line-height: 1; }
.gs-hud-line { flex: 1; min-width: 0; display: flex; align-items: center; gap: 7px; color: #fff; font-weight: 600; white-space: nowrap; overflow: hidden; }
.gs-hud-line span { overflow: hidden; text-overflow: ellipsis; }
.gs-hud-line::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--gs-tb); box-shadow: 0 0 8px rgb(255 90 10 / .8); animation: gsLed 1.6s ease-in-out infinite; }
.gs[data-hud="logged"] .gs-hud-line::before { animation: none; background: #3ad07a; box-shadow: none; }
.gs-hud-dev { flex: none; color: #9aa3b4; font-weight: 500; white-space: nowrap; }
.gs[data-hudbar] .gs-hud { left: auto; right: 10px; bottom: 10px; width: min(100% - 20px, 380px); }
.gs[data-hudbar] .gs-hud-card { display: none; }
.gs[data-hudbar] .gs-hud-slim { display: flex; }

/* ------------------------------------------------------------------ client website (fictional) */
.gs-site { font-family: var(--font, system-ui, sans-serif); color: #10334a; }
.gs-snav { position: absolute; z-index: 2; left: 0; right: 0; top: 0; height: 62px; display: flex; align-items: center; gap: 22px; padding: 0 24px; background: #fff; border-bottom: 1px solid #e4eced; }
.gs-slogo { flex: none; display: flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 800; letter-spacing: -.02em; color: #10334a; white-space: nowrap; }
.gs-slogo i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: #0f766e; }
.gs-slogo i svg { width: 18px; height: 18px; fill: #fff; }
.gs-slogo b { font-weight: 600; color: #0f766e; }
.gs-slinks { display: none; gap: 20px; font-size: 14px; font-weight: 500; color: #4a6272; white-space: nowrap; }
.gs-sphone { display: none; align-items: center; gap: 6px; margin-left: auto; font-size: 14px; font-weight: 600; color: #10334a; white-space: nowrap; }
.gs-sphone svg { width: 16px; height: 16px; color: #0f766e; }
.gs-sbtn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 38px; padding: 0 16px; border-radius: 10px; background: #0f766e; color: #fff; font-size: 14px; font-weight: 700; white-space: nowrap; }
.gs-sbtn svg { width: 16px; height: 16px; }
.gs-snav .gs-sbtn { margin-left: auto; }
.gs-snav .gs-sbtn.is-hover { background: #0b5f58; }
.gs-sburger { display: none; width: 24px; height: 24px; color: #10334a; }
.gs-sburger svg { width: 100%; height: 100%; }
.gs-spage { position: absolute; left: 0; right: 0; top: 62px; background: #fff; }
.gs-book { opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .22s linear, transform .5s var(--gs-tb-ease), visibility 0s linear .5s; }
.gs[data-site="book"] .gs-book { opacity: 1; visibility: visible; transform: none; transition: opacity .22s linear, transform .5s var(--gs-tb-ease), visibility 0s; }
.gs[data-site="book"] .gs-land { visibility: hidden; }
.gs-shero { display: grid; gap: 22px; padding: 30px 28px 32px; background: linear-gradient(180deg, #edf7f5, #fff); }
.gs-sbadge { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border-radius: 999px; background: #fff; border: 1px solid #cfe7e2; font-size: 12.5px; font-weight: 600; color: #155e56; }
.gs-sbadge i { width: 7px; height: 7px; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 3px rgb(22 163 74 / .18); }
.gs-sh1 { margin-top: 14px; font-size: 34px; line-height: 1.06; font-weight: 800; letter-spacing: -.035em; color: #0c2b40; }
.gs-sp { margin: 12px 0 0; max-width: 32em; font-size: 15px; line-height: 1.5; color: #45606f; }
.gs-scta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.gs-sbtn-lg { height: 44px; padding: 0 20px; font-size: 15px; }
.gs-sbtn-ghost { height: 44px; background: #fff; color: #10334a; border: 1px solid #cddfe0; }
.gs-sbtn-ghost svg { color: #0f766e; }
.gs-srate { display: flex; align-items: center; gap: 7px; margin-top: 16px; font-size: 13px; color: #45606f; }
.gs-sstars { display: inline-flex; gap: 1px; }
.gs-sstars svg { width: 15px; height: 15px; fill: #f5a524; }
.gs-srate b { color: #0c2b40; }
.gs-scard { align-self: center; padding: 16px; border-radius: 16px; background: #fff; border: 1px solid #e0ecec; box-shadow: 0 18px 40px -22px rgb(12 43 64 / .35); }
.gs-scard-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 14px; font-weight: 700; color: #0c2b40; }
.gs-scard-h span { display: flex; align-items: center; gap: 8px; }
.gs-scard-h svg { width: 18px; height: 18px; color: #0f766e; }
.gs-scard-h small { font-size: 12px; font-weight: 500; color: #6b8190; }
.gs-sslots { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.gs-sslots span { position: relative; display: grid; place-items: center; height: 40px; border-radius: 10px; border: 1px solid #cfe3e0; background: #f4fbfa; font-size: 14px; font-weight: 600; color: #0f766e; }
.gs-sslots em { position: absolute; top: -8px; right: 8px; padding: 2px 6px; border-radius: 6px; background: #fdecec; color: #b42318; font-size: 11px; font-style: normal; font-weight: 700; }
.gs-sdoc { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #edf3f3; }
.gs-sdoc i { flex: none; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #d7efe9; color: #0f766e; font-size: 12px; font-style: normal; font-weight: 800; }
.gs-sdoc b { display: block; font-size: 13px; color: #0c2b40; }
.gs-sdoc small { font-size: 12px; color: #6b8190; }
.gs-ssec { padding: 28px 28px 30px; }
.gs-ssec-alt { background: #f6faf9; }
.gs-sh2 { margin-bottom: 16px; font-size: 21px; font-weight: 800; letter-spacing: -.02em; color: #0c2b40; }
.gs-sgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gs-sitem { display: grid; gap: 4px; align-content: start; padding: 14px; border-radius: 12px; border: 1px solid #e4eeee; }
.gs-sitem i { width: 30px; height: 30px; display: grid; place-items: center; margin-bottom: 6px; border-radius: 8px; background: #e6f4f1; color: #0f766e; }
.gs-sitem i svg { width: 17px; height: 17px; }
.gs-sitem b { font-size: 14px; color: #0c2b40; }
.gs-sitem span { font-size: 13px; line-height: 1.4; color: #5a7282; }
.gs-ssteps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gs-ssteps div { display: grid; gap: 3px; align-content: start; }
.gs-ssteps em { width: 26px; height: 26px; display: grid; place-items: center; margin-bottom: 6px; border-radius: 50%; background: #0f766e; color: #fff; font-size: 13px; font-style: normal; font-weight: 800; }
.gs-ssteps b { font-size: 14px; color: #0c2b40; }
.gs-ssteps span { font-size: 13px; line-height: 1.4; color: #5a7282; }
.gs-squote { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #fff; border: 1px solid #e4eeee; font-size: 15px; font-weight: 600; line-height: 1.45; color: #0c2b40; }
.gs-squote small { display: block; margin-top: 6px; font-size: 12.5px; font-weight: 500; color: #6b8190; }
.gs-sfoot { display: flex; justify-content: space-between; gap: 12px; padding: 18px 28px 26px; background: #0c2b40; font-size: 13px; color: #b5c8d2; }
.gs-sfoot b { color: #fff; }
/* booking page */
.gs-bk { padding: 22px 28px 30px; }
.gs-bk-crumb { font-size: 12.5px; color: #6b8190; }
.gs-bk-crumb span { padding: 0 4px; }
.gs-bk-h1 { margin-top: 6px; font-size: 28px; }
.gs-bk-steps { display: flex; gap: 8px; margin: 14px 0 18px; }
.gs-bk-steps span { display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px 5px 5px; border-radius: 999px; background: #f1f5f6; font-size: 13px; font-weight: 600; color: #6b8190; white-space: nowrap; }
.gs-bk-steps i { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #dfe8ea; font-size: 11px; font-style: normal; font-weight: 800; }
.gs-bk-steps .done i, .gs-bk-steps .cur i { background: #0f766e; color: #fff; }
.gs-bk-steps .done i svg { width: 13px; height: 13px; }
.gs-bk-steps .cur { background: #e6f4f1; color: #0f766e; }
.gs-bk-grid { display: grid; gap: 18px; }
.gs-bk-reason { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; border: 1px solid #cfe3e0; background: #f4fbfa; font-size: 14px; color: #0c2b40; }
.gs-bk-reason > svg { flex: none; width: 20px; height: 20px; fill: #0f766e; }
.gs-bk-reason em { margin-left: auto; font-size: 13px; font-style: normal; font-weight: 600; color: #0f766e; }
.gs-bk-lbl { margin: 16px 0 8px; font-size: 13px; font-weight: 700; color: #0c2b40; }
.gs-bk-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.gs-bk-days span { display: grid; justify-items: center; gap: 1px; padding: 8px 0 7px; border-radius: 12px; border: 1px solid #e0eaeb; }
.gs-bk-days small { font-size: 11.5px; color: #6b8190; }
.gs-bk-days b { font-size: 17px; color: #0c2b40; }
.gs-bk-days em { font-size: 11px; font-style: normal; font-weight: 700; color: #0f766e; }
.gs-bk-days .on { border-color: #0f766e; background: #e6f4f1; box-shadow: inset 0 0 0 1px #0f766e; }
.gs-bk-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.gs-bk-slots span { display: grid; place-items: center; height: 40px; border-radius: 10px; border: 1px solid #cfe3e0; font-size: 14px; font-weight: 600; color: #0f766e; }
.gs-bk-slots .off { border-color: #edf1f2; background: #fafbfb; color: #a9b8bf; text-decoration: line-through; }
.gs-bk-sum { display: grid; gap: 10px; align-content: start; padding: 16px; border-radius: 14px; border: 1px solid #e0eaeb; background: #fbfdfd; }
.gs-bk-sum b { font-size: 15px; color: #0c2b40; }
.gs-bk-sum > span { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #45606f; }
.gs-bk-sum > span svg { flex: none; width: 16px; height: 16px; color: #0f766e; }
.gs-bk-sum > span:not(.gs-bk-go) > svg:not([fill]) { fill: #0f766e; }
.gs-bk-sum .gs-bk-go { justify-content: center; height: 42px; margin-top: 4px; border-radius: 10px; background: #cfe0df; color: #fff; font-size: 14px; font-weight: 700; }
.gs-bk-sum small { font-size: 12px; color: #6b8190; }

/* ------------------------------------------------------------------ wider desktop canvases */
@container gs (min-width: 700px) {
  .gs-q-x { display: inline-grid; }
  .gs-q-sep { display: block; }
  .gs-hd-ic { display: inline-grid; }
  .gs-home-ft2 > span:nth-child(4) { display: inline; }
  .gs-sphone { display: flex; }
  .gs-snav .gs-sbtn { margin-left: 0; }
  .gs-shero { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 28px; padding: 38px 32px 40px; }
  .gs-bk-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
  .gs-lp-q { display: block; }
}
@container gs (min-width: 900px) {
  .gs-slinks { display: flex; }
  .gs-chips { display: flex; }
  .gs-ad .gs-sl { display: flex; }
  .gs-map { height: 190px; }
}
@container gs (min-width: 820px) {
  .gs-sgrid { grid-template-columns: repeat(4, 1fr); }
  .gs-sh1 { font-size: 40px; }
}

/* ------------------------------------------------------------------ scale steps before the script measures
   (the script writes the exact --gs-k inline; these keep the first paint close) */
@container gs (min-width: 520px) { .gs-win { --gs-k: .8387; } }
@container gs (min-width: 560px) { .gs-win { --gs-k: .9032; } }
@container gs (min-width: 600px) { .gs-win { --gs-k: .9677; } }
@container gs (min-width: 620px) { .gs-win { --gs-k: 1; } }
@container gs (max-width: 519.98px) { .gs-win { --gs-k: .6154; } }
@container gs (min-width: 280px) and (max-width: 519.98px) { .gs-win { --gs-k: .7179; } }
@container gs (min-width: 320px) and (max-width: 519.98px) { .gs-win { --gs-k: .8205; } }
@container gs (min-width: 360px) and (max-width: 519.98px) { .gs-win { --gs-k: .9231; } }
@container gs (min-width: 390px) and (max-width: 519.98px) { .gs-win { --gs-k: 1; } }

/* ------------------------------------------------------------------ phone layout (container < 520px) */
@container gs (max-width: 519.98px) {
  .gs-hero .gs-win { padding: 7px; border-radius: 30px; border-color: #d3d8df; box-shadow: 0 2px 4px rgb(20 24 34 / .05), 0 40px 80px -34px rgb(20 24 34 / .38), 0 80px 140px -60px rgb(20 24 34 / .22); }
  .gs-hero .gs-bar { border-radius: 23px 23px 0 0; }
  .gs-hero .gs-view { height: var(--gs-h-narrow, 400px); border-radius: 0 0 23px 23px; }
  .gs-stage .gs-view { aspect-ratio: auto; height: var(--gs-h-narrow, 340px); }
  .gs-bar { height: 38px; gap: 8px; padding: 0 6px 0 8px; }
  .gs-lights, .gs-nav { display: none; }
  .gs-url { height: 26px; padding: 0 10px; gap: 5px; font-size: 12px; }
  .gs-url svg { width: 12px; height: 12px; }
  .gs-chip { padding: 5px 7px; letter-spacing: .04em; }

  /* home */
  .gs-home-top { height: 52px; gap: 12px; padding: 0 12px; }
  .gs-home-top .gs-home-link:first-child { display: none; }
  .gs-home-top .gs-signin { height: 34px; padding: 0 16px; }
  .gs-home-mid { padding-top: 38px; }
  .gs-home-logo { font-size: 44px; }
  .gs-home-logo .gs-logo:not(.gs-nlogo) { width: 184px; height: 62px; }
  .gs-hbox { width: calc(100% - 32px); margin-top: 26px; }
  .gs-hbox-row { height: 48px; border-color: transparent; box-shadow: 0 1px 6px rgb(32 33 36 / .28); }
  .gs-home-btns, .gs-sug-btns, .gs-sug-rep { display: none; }
  .gs-sug { padding-bottom: 8px; }
  .gs-sug-list li { height: 44px; font-size: 16px; }
  .gs-key { bottom: auto; top: 50%; right: 10px; transform: translateY(-40%) scale(.92); }
  .gs[data-key] .gs-key { transform: translateY(-50%); }
  .gs[data-key="2"] .gs-key { transform: translateY(-46%) scale(.97); }
  .gs-home-ft2 > span:not(.gs-home-ft-r) { display: none; }
  .gs-home-ft-r { margin-left: 0; }

  /* results */
  .gs-hd { display: none; }
  .gs-mhd { display: flex; position: absolute; z-index: 3; left: 0; right: 0; top: 0; height: 60px; align-items: center; gap: 12px; padding: 0 12px 0 14px; background: #fff; box-shadow: 0 1px 6px rgb(32 33 36 / .2); transform: translateY(-110%); transition: transform .22s ease; }
  .gs[data-mstick] .gs-mhd { transform: none; }
  .gs-mhd-g { flex: none; }
  .gs-mhd-q { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 10px 0 16px; border-radius: 21px; background: #f1f3f4; font-size: 15px; color: #202124; }
  .gs-mhd-q > span:first-child { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; }
  .gs-mhd-q .gs-ico { width: 20px; height: 20px; color: #70757a; }
  .gs-pages { top: 0; }
  .gs-page { --gs-gut: 16px; }
  .gs-mtop { display: block; padding: 2px 12px 8px; }
  .gs-mtop-r1 { display: flex; align-items: center; justify-content: space-between; height: 52px; padding-left: 2px; }
  .gs-mtop-logo { font-size: 24px; }
  .gs-mtop-logo .gs-logo:not(.gs-nlogo) { width: 74px; height: 25px; }
  .gs-mtop .gs-signin { height: 34px; padding: 0 16px; }
  .gs-mq { display: flex; align-items: center; gap: 12px; height: 48px; padding: 0 14px 0 18px; border-radius: 24px; background: #fff; box-shadow: 0 1px 6px rgb(32 33 36 / .28); }
  .gs-mq-t { flex: 1; min-width: 0; font-size: 16px; color: #202124; white-space: nowrap; overflow: hidden; }
  .gs-mq-x { color: #70757a; }
  .gs-tabs { height: 44px; padding: 0 0 0 4px; }
  .gs-tab { padding-bottom: 13px; }
  .gs-tools, .gs-tab-more { display: none; }
  .gs-col { max-width: none; margin: 0; padding-top: 0; }
  .gs-r { margin: 0; padding: 16px 16px 18px; border-bottom: 1px solid #ecedef; }
  .gs-ad { display: none; }
  .gs-t { font-size: 18px; line-height: 24px; }
  .gs-s { -webkit-line-clamp: 3; }
  .gs-sl { flex-wrap: nowrap; overflow: hidden; white-space: nowrap; }
  .gs-blk-h { padding: 0 16px; }
  .gs-lp { margin: 0; padding: 16px 0 16px; border-bottom: 8px solid #f1f3f4; }
  .gs-chips { padding: 0 16px; }
  .gs-map { height: 172px; border-radius: 0; box-shadow: none; }
  .gs-lp-list { padding-top: 0; }
  .gs-lp-i { padding: 12px 16px 14px; border-bottom: 1px solid #ecedef; }
  .gs-lp-acts { display: none; }
  .gs-lp-mchips { display: flex; gap: 8px; margin-top: 10px; }
  .gs-mchip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 1px solid #dadce0; border-radius: 16px; font: 500 14px/1 var(--gs-sans); color: var(--gs-btn); white-space: nowrap; }
  .gs-mchip svg { width: 16px; height: 16px; }
  .gs-mchip svg[fill="none"] { fill: none; }
  .gs-lp-more { margin: 14px 16px 0; }
  .gs-paa { margin: 0; padding: 16px 16px 12px; border-bottom: 8px solid #f1f3f4; }
  .gs-pag { padding: 0; }
  .gs-pag-g, .gs-pag-n { display: none; }
  .gs-mpag { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 22px 16px 26px; }
  .gs-mnext { flex: 1; display: flex; align-items: center; justify-content: center; gap: 4px; height: 48px; border-radius: 24px; background: #f1f3f4; font: 500 15px/1 var(--gs-sans); color: #202124; }
  .gs-mnext svg { width: 22px; height: 22px; margin-right: -6px; }
  .gs-mnext.is-hover { background: #e8eaed; }
  .gs-mbtn { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: #f1f3f4; }
  .gs-mbtn svg { width: 24px; height: 24px; }
  .gs-mpage { font-size: 14px; color: var(--gs-text); }
  .gs-foot-1, .gs-foot-2 { padding-left: 16px; }
  .gs-foot-2 { gap: 20px; }
  .gs-r-client { padding-top: 30px; }
  .gs-ring { inset: 12px 5px 4px; border-radius: 12px; }
  .gs-tag { right: 12px; }

  /* client site */
  .gs-snav { height: 56px; gap: 10px; padding: 0 14px; }
  .gs-slogo { font-size: 15px; gap: 8px; }
  .gs-slogo i { width: 28px; height: 28px; border-radius: 8px; }
  .gs-snav .gs-sbtn { height: 34px; padding: 0 13px; font-size: 13px; }
  .gs-sburger { display: block; }
  .gs-spage { top: 56px; }
  .gs-shero { gap: 20px; padding: 22px 16px 24px; }
  .gs-sh1 { font-size: 29px; }
  .gs-sp { font-size: 14.5px; }
  .gs-scta .gs-sbtn { flex: 1 1 auto; }
  .gs-ssec { padding: 24px 16px; }
  .gs-sgrid { gap: 8px; }
  .gs-sitem { padding: 12px; }
  .gs-ssteps { grid-template-columns: 1fr; }
  .gs-sfoot { flex-direction: column; padding: 18px 16px 24px; }
  .gs-bk { padding: 18px 16px 24px; }
  .gs-bk-h1 { font-size: 25px; }
  .gs-bk-steps span:not(.cur) { padding-right: 5px; font-size: 0; gap: 0; }
  .gs-bk-days { gap: 6px; }

  /* HUD: a slim bar */
  .gs .gs-hud, .gs[data-hudbar] .gs-hud { left: 8px; right: 8px; bottom: 8px; width: auto; }
  .gs-hud-card { display: none; }
  .gs-hud-slim { display: flex; }
}
@container gs (max-width: 299.98px) {
  .gs-hud-dev { display: none; }
  .gs-url svg { display: none; }
  .gs-chip { padding: 5px 6px; letter-spacing: .02em; }
  .gs-chip i { display: none; }
}

@keyframes gsCaret { 50% { opacity: 0; } }
@keyframes gsLed { 50% { opacity: .35; } }
@keyframes gsPing { 0% { box-shadow: 0 0 0 0 rgb(255 90 10 / .55); } 100% { box-shadow: 0 0 0 .55em rgb(255 90 10 / 0); } }
@keyframes gsRip { 0% { opacity: .95; transform: scale(.25); } 100% { opacity: 0; transform: scale(1.9); } }
@keyframes gsTap { 0% { opacity: 0; transform: scale(1.35); } 25% { opacity: 1; transform: scale(.82); } 60% { opacity: 1; transform: scale(.88); } 100% { opacity: 0; transform: scale(1.05); } }

@media (prefers-reduced-motion: reduce) {
  .gs *, .gs *::before, .gs *::after { transition: none !important; animation: none !important; }
}
