/**
 * Gradespace Group blocks: one stylesheet for every block in the three
 * designs (body classes gsgr-look-mosaic, gsgr-look-charter,
 * gsgr-look-parallel). Colours come from the theme's palette slugs (with
 * fallbacks for other themes) and, per business, from --gsgr-c and friends
 * (gsgr_division_vars(): the palette's tiles with one brand for all, the
 * business's own contrast-checked shades with individual branding).
 */

:root {
	--g-paper: var(--wp--preset--color--paper, #f3f1ec);
	--g-surface: var(--wp--preset--color--surface, #fff);
	--g-ink: var(--wp--preset--color--ink, #0f1115);
	--g-muted: var(--wp--preset--color--muted, #555a63);
	--g-line: var(--wp--preset--color--line, #ece9e2);
	--g-line2: var(--wp--preset--color--line-strong, #e2dfd8);
	--g-accent: var(--wp--preset--color--accent, #2633c9);
	--g-on-accent: var(--wp--preset--color--on-accent, #fff);
	--g-deep: var(--wp--preset--color--deep, #0f1115);
	--g-on-deep: var(--wp--preset--color--on-deep, #f3f1ec);
	--g-accent-deep: var(--wp--preset--color--accent-deep, #f3f1ec);
	--g-muted-deep: var(--wp--preset--color--muted-deep, #c9cbd1);
	--g-display: var(--wp--preset--font-family--display, system-ui, sans-serif);
	--g-body: var(--wp--preset--font-family--body, system-ui, sans-serif);
	--g-it: var(--wp--preset--font-family--accent, Georgia, serif);
	--gsgr-wrap: 1320px;
	--gsgr-gutter: clamp(16px, 3.2vw, 40px);
	--gsgr-tile: 28px;
	--gsgr-card: 20px;
	--gsgr-btn: 999px;
	--gsgr-h2: clamp(2.25rem, 1.2rem + 3.6vw, 4rem);
	--gsgr-section: clamp(64px, 8vw, 110px);
}
.gsgr-look-charter {
	--gsgr-wrap: 1280px;
	--gsgr-tile: 12px;
	--gsgr-card: 10px;
	--gsgr-btn: 8px;
	--gsgr-h2: clamp(2.25rem, 1.3rem + 3vw, 3.5rem);
	--gsgr-section: clamp(64px, 8vw, 110px);
}
.gsgr-look-parallel {
	--gsgr-wrap: 1280px;
	--gsgr-tile: 16px;
	--gsgr-card: 14px;
	--gsgr-btn: 10px;
	--gsgr-h2: clamp(2.1rem, 1.3rem + 2.6vw, 3.25rem);
	--gsgr-section: clamp(64px, 7.5vw, 104px);
}

/* Shared basics ------------------------------------------------------- */
.gsgr-section, .gsgr-ticker, .gsgr-switcher, .gsgr-division-header, .gsgr-footer, .gsgr-spotlight, .gsgr-division-footer, .gsgr-account, .gsgr-credits {
	box-sizing: border-box;
	font-family: var(--g-body);
	color: var(--g-ink);
}
.gsgr-section *, .gsgr-section *::before, .gsgr-section *::after,
.gsgr-switcher *, .gsgr-division-header *, .gsgr-footer *, .gsgr-division-footer *, .gsgr-account *, .gsgr-spotlight * { box-sizing: border-box; }
.gsgr-section { padding: var(--gsgr-section) 0; margin-block: 0 !important; }
.gsgr-wrap { width: 100%; max-width: calc(var(--gsgr-wrap) + 2 * var(--gsgr-gutter)); margin: 0 auto; padding: 0 var(--gsgr-gutter); }
.gsgr-section img, .gsgr-spotlight img { max-width: 100%; }
.gsgr-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.gsgr-ph { display: block; width: 100%; min-height: 120px; background: linear-gradient(135deg, var(--gsgr-c-tint, var(--g-line)), var(--g-line2)); }
.gsgr-look-charter .is-mono, .gsgr-look-charter .gsgr-photo.is-mono { filter: grayscale(1) contrast(1.06); }
.gsgr-section a { color: inherit; }
.gsgr-muted { color: var(--g-muted); }
.gsgr-center { text-align: center; }
.gsgr-empty { padding: 28px; border: 1px dashed var(--g-line2); border-radius: var(--gsgr-card); color: var(--g-muted); }
.gsgr-arrow { display: inline-block; transition: transform .2s ease; }
a:hover > .gsgr-arrow, button:hover > .gsgr-arrow { transform: translateX(3px); }
.gsgr-hl { color: var(--gsgr-c-text, var(--g-accent)); }
.gsgr-it { font-family: var(--g-it); font-style: italic; font-weight: 400; letter-spacing: 0; }
.gsgr-look-mosaic .gsgr-it, .gsgr-look-parallel .gsgr-it { font-family: inherit; font-style: normal; font-weight: inherit; letter-spacing: inherit; }
.gsgr-eyebrow { margin: 0; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: var(--g-accent); }
.gsgr-look-mosaic .gsgr-eyebrow { font-size: 13px; letter-spacing: .14em; color: var(--g-muted); }
.gsgr-look-parallel .gsgr-eyebrow { font-size: 12px; letter-spacing: .16em; color: var(--g-muted); }
.gsgr-h2, .gsgr-section h2.gsgr-h2 { margin: 0; font-family: var(--g-display); font-weight: 800; font-size: var(--gsgr-h2); line-height: 1.02; letter-spacing: -.02em; color: var(--g-ink); }
.gsgr-look-mosaic .gsgr-h2 { line-height: .98; letter-spacing: -.035em; }
.gsgr-look-charter .gsgr-h2 .gsgr-it { font-size: 1.14em; }
.gsgr-h3 { margin: 0 0 .6em; font-family: var(--g-display); font-weight: 700; font-size: 1.25rem; }
.gsgr-lead { margin: 0; font-size: 17px; line-height: 1.65; color: var(--g-muted); }
.gsgr-lead.is-big { font-size: clamp(17px, 1.3vw, 19px); }
.gsgr-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 40px; margin-bottom: clamp(28px, 3.4vw, 44px); flex-wrap: wrap; }
.gsgr-head__main { display: flex; flex-direction: column; gap: 14px; max-width: 44rem; min-width: 0; }
.gsgr-head__main:only-child { max-width: 64rem; }
.gsgr-head__main:empty { display: none; }
.gsgr-head:has(> .gsgr-head__main:empty) { justify-content: flex-end; margin-bottom: 16px; }
.gsgr-head__side { display: flex; flex-direction: column; gap: 12px; align-items: flex-end; min-width: 0; max-width: 34rem; }
.gsgr-head.is-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; }
.gsgr-head.is-split .gsgr-head__side { align-items: stretch; max-width: none; }
.gsgr-head__side .gsgr-lead { max-width: 30em; }
.gsgr-underline, .gsgr-more { display: inline-flex; gap: 6px; align-items: center; font-weight: 700; font-size: 15px; text-decoration: none; color: var(--g-ink); }
.gsgr-underline { border-bottom: 1.5px solid currentColor; padding-bottom: 3px; margin-top: 28px; }

/* Buttons and pills */
.gsgr-btn, .gsgr-pill { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: var(--gsgr-btn); font: 700 14.5px/1.2 var(--g-body); text-decoration: none; border: 1.5px solid transparent; cursor: pointer; white-space: nowrap; transition: background-color .2s, color .2s, border-color .2s; }
.gsgr-btn.is-ink, .gsgr-pill.is-ink { background: var(--g-ink); color: var(--g-paper); }
.gsgr-btn.is-ink:hover, .gsgr-pill.is-ink:hover { background: var(--g-accent); color: var(--g-on-accent); }
.gsgr-look-charter .gsgr-btn.is-ink:hover { background: color-mix(in srgb, var(--g-ink) 82%, var(--g-paper)); color: var(--g-paper); }
.gsgr-btn.is-line, .gsgr-pill.is-line { background: transparent; color: var(--g-ink); border-color: var(--g-line2); }
.gsgr-btn.is-line:hover, .gsgr-pill.is-line:hover { border-color: var(--g-ink); }
.gsgr-btn.is-brand { background: var(--gsgr-c-deep, var(--g-ink)); color: #fff; border-radius: var(--gsgr-radius, var(--gsgr-btn)); }
.gsgr-btn.is-small { min-height: 38px; padding: 0 14px; font-size: 13.5px; }
.gsgr-buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.gsgr-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 30px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.gsgr-chip.is-soft { background: var(--g-paper); font-weight: 700; }
.gsgr-chip.is-tint { background: var(--gsgr-c-tint); color: var(--gsgr-c-ink); align-self: flex-start; }
.gsgr-chip.is-outline { align-self: flex-start; gap: 10px; border: 1px solid var(--g-line2); padding: 8px 16px; min-height: 0; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; background: var(--g-surface); }
.gsgr-chip__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--g-accent); }
.gsgr-chip.is-on-tile { border: 1px solid color-mix(in srgb, var(--gsgr-on-c) 45%, transparent); background: color-mix(in srgb, var(--gsgr-on-c) 12%, transparent); color: var(--gsgr-on-c); }
.gsgr-tag { display: inline-flex; align-items: center; min-height: 28px; padding: 0 11px; border: 1px solid var(--g-line); border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--g-muted); background: var(--g-surface); }
.gsgr-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: var(--gsgr-c-tint); color: var(--gsgr-c-ink); white-space: nowrap; }
.gsgr-look-parallel .gsgr-badge { border-radius: var(--gsgr-radius, 6px); }
.gsgr-look-charter .gsgr-badge { background: var(--g-paper); color: var(--g-muted); border: 1px solid var(--g-line); }
.gsgr-pill-s { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: var(--g-line); color: var(--g-ink); }
.gsgr-pill-s.is-ink { background: var(--g-ink); color: var(--g-paper); letter-spacing: .1em; text-transform: uppercase; font-size: 11px; }
.gsgr-pill-s.is-good { background: #e3f2e8; color: #14532d; }
.gsgr-pill-s.is-warning { background: #fdf0d5; color: #6b4300; }
.gsgr-pill-s.is-serious { background: #fde4e1; color: #8a1c13; }
.gsgr-tile { border-radius: var(--gsgr-tile); overflow: hidden; position: relative; }

/* Filter chips (front.js) */
.gsgr-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.gsgr-chips.is-hidden { display: none; }
.gsgr-chip-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; font: 700 13.5px/1 var(--g-body); cursor: pointer; border: 1.5px solid var(--g-line2); background: var(--g-surface); color: var(--g-ink); text-decoration: none; }
.gsgr-chip-btn__dot { display: none; width: 10px; height: 10px; border-radius: 50%; background: var(--gsgr-c, var(--g-ink)); }
.gsgr-chip-btn[aria-pressed="true"], .gsgr-chip-btn[aria-current="page"] { background: var(--gsgr-c, var(--g-ink)); border-color: var(--gsgr-c, var(--g-ink)); color: var(--gsgr-on-c, var(--g-paper)); }
.gsgr-look-charter .gsgr-chip-btn { border-width: 1px; font-weight: 600; }
.gsgr-look-charter .gsgr-chip-btn[aria-pressed="true"] { background: var(--g-ink); border-color: var(--g-ink); color: var(--g-paper); }
.gsgr-chips.is-box { background: var(--g-surface); border-radius: 6px; padding: 4px; gap: 4px; }
.gsgr-chips.is-box .gsgr-chip-btn { border: 0; border-radius: 4px; background: transparent; color: var(--gsgr-c-ink); }
.gsgr-chips.is-box .gsgr-chip-btn[aria-pressed="true"] { background: var(--gsgr-c); color: var(--gsgr-on-c); }
.gsgr-chips.is-stack { flex-direction: column; gap: 6px; margin-top: 8px; }
.gsgr-chips.is-stack .gsgr-chip-btn { justify-content: flex-start; border-radius: 10px; border-color: transparent; background: transparent; font-size: 15px; min-height: 44px; color: var(--g-muted); }
.gsgr-chips.is-stack .gsgr-chip-btn__dot { display: inline-block; }
.gsgr-chips.is-stack .gsgr-chip-btn[aria-pressed="true"] { background: var(--g-surface); border-color: var(--g-line2); color: var(--g-ink); }
.gsgr-chips.is-stack .gsgr-chip-btn[data-value="all"] .gsgr-chip-btn__dot { background: var(--g-ink); }
[data-gsgr-hide] { display: none !important; }

/* Hero · bento (Mosaic) ------------------------------------------------ */
.gsgr-hero.is-bento { padding: 8px 0 40px; }
.gsgr-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(212px, auto)); gap: 16px; }
.gsgr-bento > .gsgr-tile { text-decoration: none; }
.gsgr-bento__intro { grid-column: 1 / 7; grid-row: 1 / 3; background: var(--g-surface); padding: 38px 40px; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; }
.gsgr-bento__top { display: flex; flex-direction: column; gap: 20px; }
.gsgr-bento__top .gsgr-chip { align-self: flex-start; }
.gsgr-bento__title { margin: 0; font-family: var(--g-display); font-weight: 800; font-size: clamp(2.6rem, 1rem + 5vw, 5.5rem); line-height: .9; letter-spacing: -.045em; color: var(--g-ink); }
.gsgr-bento__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.gsgr-bento__lead { margin: 0; font-size: 17px; line-height: 1.55; color: var(--g-muted); max-width: 21em; }
.gsgr-bento__actions { display: flex; gap: 8px; flex: none; flex-wrap: wrap; justify-content: flex-end; }
.gsgr-bento__d { background: var(--gsgr-c); color: var(--gsgr-on-c); display: flex; flex-direction: column; }
.gsgr-bento__d.is-p { grid-column: 7 / 10; grid-row: 1 / 4; }
.gsgr-bento__d.is-q { grid-column: 10 / 13; grid-row: 1 / 2; padding: 22px 24px; justify-content: space-between; }
.gsgr-bento__d.is-r { grid-column: 10 / 13; grid-row: 2 / 4; }
.gsgr-bento__d.is-qr { grid-column: 10 / 13; grid-row: 1 / 4; }
.gsgr-bento__d.is-s { grid-column: 4 / 7; grid-row: 3 / 4; padding: 22px 24px; flex-direction: row; gap: 18px; }
.gsgr-bento__img { flex: 1; min-height: 0; height: auto; }
.gsgr-bento__bar { padding: 22px 24px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.gsgr-bento__d.is-r .gsgr-bento__bar { padding: 20px 24px; }
.gsgr-bento__row { display: flex; justify-content: space-between; }
.gsgr-bento__col { flex: 1; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; }
.gsgr-bento__name-wrap { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gsgr-bento__no { font-size: 13px; font-weight: 700; }
.gsgr-bento__name { font-family: var(--g-display); font-size: clamp(1.5rem, .9rem + 1.2vw, 2rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.05; }
.gsgr-bento__line { font-size: 14px; font-weight: 600; }
.gsgr-bento__d.is-s .gsgr-bento__line { color: color-mix(in srgb, var(--gsgr-on-c) 86%, var(--gsgr-c)); }
.gsgr-bento__go { font-size: 20px; font-weight: 700; }
.gsgr-bento__circle { width: 46px; height: 46px; border-radius: 50%; background: var(--gsgr-on-c); color: var(--gsgr-c); display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; flex: none; }
.gsgr-bento__thumb { width: 42%; height: auto; border-radius: 18px; flex: none; }
.gsgr-bento__d.is-s .gsgr-bento__name { font-size: clamp(1.4rem, .8rem + 1vw, 1.75rem); overflow-wrap: anywhere; }
.gsgr-bento__fig { grid-column: 1 / 4; grid-row: 3 / 4; background: var(--g-deep); color: var(--g-on-deep); padding: 24px 26px; display: flex; flex-direction: column; justify-content: space-between; }
.gsgr-bento__fig.is-wide { grid-column: 1 / 7; }
.gsgr-bento__fig-l { font-size: 14px; color: var(--g-muted-deep); }
.gsgr-bento__fig-v { font-family: var(--g-display); font-size: clamp(2.6rem, 1.4rem + 2vw, 4rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.gsgr-bento.is-n1 .gsgr-bento__d.is-p { grid-column: 7 / 13; }
.gsgr-bento.is-n3 .gsgr-bento__fig { grid-column: 1 / 7; }
a.gsgr-bento__d { transition: transform .25s ease, box-shadow .25s ease; }
a.gsgr-bento__d:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -24px rgba(0, 0, 0, .45); }
@media (max-width: 1100px) {
	.gsgr-bento { grid-template-rows: repeat(3, minmax(190px, auto)); }
	.gsgr-bento__intro { padding: 30px; }
}
@media (max-width: 900px) {
	.gsgr-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: minmax(190px, auto); }
	.gsgr-bento > .gsgr-tile { grid-column: auto !important; grid-row: auto !important; }
	.gsgr-bento__intro { grid-column: 1 / -1 !important; }
	.gsgr-bento__d.is-p, .gsgr-bento__d.is-r, .gsgr-bento__d.is-qr { min-height: 300px; }
	.gsgr-bento__d.is-s { grid-column: 1 / -1 !important; }
}
@media (max-width: 600px) {
	.gsgr-bento { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.gsgr-bento__intro { padding: 24px; }
	.gsgr-bento__foot { flex-direction: column; align-items: flex-start; }
	.gsgr-bento__actions { justify-content: flex-start; }
	.gsgr-bento__d.is-p, .gsgr-bento__d.is-r, .gsgr-bento__d.is-qr { min-height: 260px; }
}

/* Hero · stage (Charter) ----------------------------------------------- */
.gsgr-hero.is-stage { padding: 64px 0 0; }
.gsgr-stage { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 4.4vw, 64px); align-items: stretch; }
.gsgr-stage__text { display: flex; flex-direction: column; gap: 28px; padding-top: 12px; }
.gsgr-stage__title { margin: 0; font-family: var(--g-display); font-weight: 900; font-size: clamp(2.75rem, 1.2rem + 4.4vw, 5.375rem); line-height: .98; letter-spacing: -.03em; color: var(--g-ink); }
.gsgr-stage__title .gsgr-it { font-size: 1.12em; color: var(--g-accent); }
.gsgr-stage__people { display: flex; align-items: center; gap: 16px; margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--g-line); font-size: 14px; }
.gsgr-stage__people > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.gsgr-stage__people > span:last-child > span { color: var(--g-muted); }
.gsgr-faces { display: flex; flex: none; }
.gsgr-face { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 2px solid var(--g-paper); filter: grayscale(1); }
.gsgr-faces .gsgr-face + .gsgr-face { margin-left: -10px; }
.gsgr-face.is-big { width: 52px; height: 52px; border: 0; }
.gsgr-stage__side { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.gsgr-stage__tabs { display: flex; gap: 6px; background: var(--g-surface); border: 1px solid var(--g-line); border-radius: 10px; padding: 5px; align-self: flex-start; flex-wrap: wrap; max-width: 100%; }
.gsgr-stage__tabs button { min-height: 40px; padding: 0 18px; border-radius: 7px; border: 0; font: 600 14px var(--g-body); cursor: pointer; background: transparent; color: var(--g-muted); }
.gsgr-stage__tabs button[aria-selected="true"] { background: var(--g-ink); color: var(--g-paper); }
.gsgr-stage__panel { position: relative; border-radius: 12px; overflow: hidden; background: var(--g-deep); display: flex; flex-direction: column; flex: 1; }
.gsgr-stage__panel[hidden] { display: none; }
.gsgr-stage__photo { position: relative; flex: 1; min-height: 430px; }
.gsgr-stage__photo > .gsgr-photo, .gsgr-stage__photo > .gsgr-ph { position: absolute; inset: 0; }
.gsgr-stage__spot { position: absolute; display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #111214; border-radius: 999px; padding: 6px 12px 6px 8px; font-size: 12px; font-weight: 600; box-shadow: 0 8px 24px rgba(0, 0, 0, .25); }
.gsgr-stage__spot.is-0 { top: 62%; left: 12%; }
.gsgr-stage__spot.is-1 { top: 40%; left: 44%; }
.gsgr-stage__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--g-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--g-accent) 25%, transparent); }
.gsgr-stage__card { position: absolute; right: 18px; top: 18px; width: 236px; max-width: calc(100% - 36px); background: #fff; color: #111214; border-radius: 10px; padding: 16px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .5); }
.gsgr-stage__card-top, .gsgr-stage__card-foot { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; font-weight: 600; color: #55585f; }
.gsgr-stage__live { color: #1f6b45; }
.gsgr-stage__value { display: flex; align-items: baseline; gap: 10px; }
.gsgr-stage__value strong { font-family: var(--g-display); font-size: 36px; font-weight: 800; letter-spacing: -.02em; }
.gsgr-stage__delta { font-size: 12px; font-weight: 700; color: #1f6b45; }
.gsgr-stage__meter { height: 6px; border-radius: 9px; background: #ecebe4; overflow: hidden; }
.gsgr-stage__meter span { display: block; height: 100%; background: #111214; }
.gsgr-stage__card-foot strong { color: #111214; }
.gsgr-stage__caption { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 22px; background: var(--g-deep); color: var(--g-on-deep); }
.gsgr-stage__caption > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.gsgr-stage__eyebrow { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--g-accent-deep); }
.gsgr-stage__cap { font-family: var(--g-display); font-size: 19px; font-weight: 600; }
.gsgr-stage__link { color: var(--g-on-deep) !important; font-weight: 600; font-size: 14px; white-space: nowrap; text-decoration: none; border-bottom: 1px solid var(--g-muted-deep); padding-bottom: 2px; }
@media (max-width: 1000px) {
	.gsgr-stage { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.gsgr-hero.is-stage { padding-top: 32px; }
	.gsgr-stage__photo { min-height: 300px; }
	.gsgr-stage__card { width: 200px; padding: 12px; }
	.gsgr-stage__value strong { font-size: 28px; }
	.gsgr-stage__spot.is-1 { display: none; }
	.gsgr-stage__caption { flex-direction: column; align-items: flex-start; }
}

/* Proof strip (Charter) and business facts */
.gsgr-proof { padding: 56px 0 0; }
.gsgr-proof__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--g-surface); border: 1px solid var(--g-line); border-radius: 12px; }
.gsgr-proof__grid.is-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gsgr-proof__grid.is-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gsgr-proof__item { padding: 24px 26px; display: flex; flex-direction: column; gap: 4px; border-left: 1px solid var(--g-line); min-width: 0; }
.gsgr-proof__item:first-child { border-left: 0; }
.gsgr-proof__v { font-family: var(--g-display); font-size: 30px; font-weight: 800; letter-spacing: -.02em; }
.gsgr-proof__l { font-weight: 600; font-size: 14px; }
.gsgr-proof__n { font-size: 13px; color: var(--g-muted); }
@media (max-width: 781px) {
	.gsgr-proof__grid, .gsgr-proof__grid.is-n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gsgr-proof__item:nth-child(3) { border-left: 0; }
	.gsgr-proof__item:nth-child(n+3) { border-top: 1px solid var(--g-line); }
}

/* Hero · split (Parallel) ---------------------------------------------- */
.gsgr-hero.is-split { padding: 0; }
.gsgr-split { display: flex; height: min(800px, 92vh); min-height: 620px; position: relative; background: var(--g-deep); }
.gsgr-split__half { position: relative; overflow: hidden; display: block; text-decoration: none; flex: 1; transition: flex .45s ease; color: #fff; }
.gsgr-split.is-n2 .gsgr-split__half.is-wide { flex: 1.3; }
.gsgr-split.is-n2 .gsgr-split__half:not(.is-wide) { flex: .7; }
.gsgr-split__img { position: absolute; inset: 0; height: 100%; }
.gsgr-split__chip { position: absolute; top: 28px; left: 40px; display: inline-flex; align-items: center; gap: 10px; background: #fff; border-radius: var(--gsgr-radius, 6px); padding: 8px 14px 8px 8px; font: 600 18px var(--gsgr-font, var(--g-display)); color: var(--gsgr-c-deep); }
.gsgr-split__half.is-right .gsgr-split__chip { left: auto; right: 40px; }
.gsgr-split__chip .gsgr-mark { width: 34px; height: 34px; }
.gsgr-split__panel { position: absolute; left: 40px; bottom: 40px; width: min(520px, calc(100% - 80px)); background: var(--gsgr-c); color: var(--gsgr-on-c); border-radius: var(--gsgr-radius, 6px); padding: 32px; display: flex; flex-direction: column; gap: 14px; transition: width .45s ease; }
.gsgr-split__half.is-right .gsgr-split__panel { left: auto; right: 40px; background: var(--gsgr-c-deep); color: #fff; }
.gsgr-split__half:not(.is-wide) .gsgr-split__panel { width: min(400px, calc(100% - 80px)); }
.gsgr-split__panel .gsgr-eyebrow { color: color-mix(in srgb, currentColor 82%, transparent); }
.gsgr-split__title { margin: 0; font: var(--gsgr-weight, 600) clamp(2rem, 1rem + 2.6vw, 3.25rem)/1.02 var(--gsgr-font, var(--g-display)); letter-spacing: -.01em; transition: font-size .45s ease; }
.gsgr-split__half:not(.is-wide) .gsgr-split__title { font-size: clamp(1.75rem, 1rem + 1.6vw, 2.5rem); }
.gsgr-split__copy { font-size: 17px; line-height: 1.6; opacity: .92; }
.gsgr-split__cta { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 20px; border-radius: var(--gsgr-radius, 4px); background: #fff; color: var(--gsgr-c-deep); font-weight: 700; font-size: 15px; }
.gsgr-split__half.is-right .gsgr-split__cta { background: var(--gsgr-c); color: var(--gsgr-on-c); }
.gsgr-split__seal { position: absolute; left: var(--gsgr-seam, 65%); top: 50%; transform: translate(-50%, -50%); width: 128px; height: 128px; border-radius: 50%; background: var(--g-paper); color: var(--g-ink); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; box-shadow: 0 0 0 10px color-mix(in srgb, var(--g-paper) 25%, transparent); transition: left .45s ease; font-size: 11px; font-weight: 800; letter-spacing: .14em; line-height: 1.3; z-index: 2; pointer-events: none; }
.gsgr-split__seal .gsgr-monogram { width: 26px; height: 26px; }
@media (prefers-reduced-motion: reduce) {
	.gsgr-split__half, .gsgr-split__panel, .gsgr-split__title, .gsgr-split__seal { transition: none; }
}
@media (max-width: 900px) {
	.gsgr-split { flex-direction: column; height: auto; min-height: 0; }
	.gsgr-split__half, .gsgr-split.is-n2 .gsgr-split__half.is-wide, .gsgr-split.is-n2 .gsgr-split__half:not(.is-wide) { flex: none; min-height: 480px; }
	.gsgr-split__chip, .gsgr-split__half.is-right .gsgr-split__chip { left: 20px; right: auto; top: 20px; }
	.gsgr-split__panel, .gsgr-split__half.is-right .gsgr-split__panel, .gsgr-split__half:not(.is-wide) .gsgr-split__panel { left: 20px; right: 20px; bottom: 20px; width: auto; padding: 24px; }
	.gsgr-split__seal { left: 50% !important; top: auto; bottom: auto; position: absolute; transform: translate(-50%, -50%); top: 480px; width: 104px; height: 104px; font-size: 10px; }
}

/* Ticker (Mosaic) ------------------------------------------------------ */
.gsgr-ticker { background: var(--g-deep); color: var(--g-on-deep); overflow: hidden; padding: 22px 0; white-space: nowrap; }
.gsgr-ticker__track { display: flex; width: max-content; animation: gsgr-ticker 60s linear infinite; }
.gsgr-ticker__run { display: flex; gap: 34px; padding-right: 34px; font-family: var(--g-display); font-size: clamp(1.4rem, 1rem + 1.2vw, 2.125rem); font-weight: 700; letter-spacing: -.02em; }
.gsgr-ticker__star { color: var(--gsgr-c-bright); }
@keyframes gsgr-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.gsgr-ticker__track { animation: none; transform: translateX(-120px); }
}

/* Our businesses · index (Charter) ------------------------------------- */
.gsgr-businesses.is-index { padding-bottom: 40px; }
.gsgr-index { border-top: 1.5px solid var(--g-ink); }
.gsgr-index__row { display: grid; grid-template-columns: 90px minmax(0, 1.1fr) minmax(0, 1.3fr) 220px 40px; gap: 32px; align-items: center; padding: 30px 0; border-bottom: 1px solid var(--g-line); text-decoration: none; color: var(--g-ink); }
.gsgr-index__no { font-family: var(--g-display); font-size: 15px; font-weight: 600; color: var(--g-muted); }
.gsgr-index__name { display: flex; flex-direction: column; gap: 4px; }
.gsgr-index__title { font-family: var(--g-display); font-size: clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem); font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.gsgr-index__since { font-size: 14px; color: var(--g-muted); }
.gsgr-index__about { display: flex; flex-direction: column; gap: 12px; }
.gsgr-index__copy { font-size: 16px; line-height: 1.55; color: var(--g-muted); }
.gsgr-index__tags { display: flex; gap: 6px; flex-wrap: wrap; }
.gsgr-index__img { height: 130px; border-radius: 8px; }
.gsgr-index__go { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--g-ink); display: flex; align-items: center; justify-content: center; font-size: 18px; transition: background .2s, color .2s; }
.gsgr-index__row:hover .gsgr-index__go { background: var(--g-ink); color: var(--g-paper); }
@media (max-width: 1000px) {
	.gsgr-index__row { grid-template-columns: 56px minmax(0, 1fr) 160px; }
	.gsgr-index__about { grid-column: 2 / 4; grid-row: 2; }
	.gsgr-index__go { display: none; }
}
@media (max-width: 600px) {
	.gsgr-index__row { grid-template-columns: 40px minmax(0, 1fr); gap: 14px 16px; }
	.gsgr-index__img { grid-column: 1 / -1; grid-row: 3; height: 160px; }
	.gsgr-index__about { grid-column: 1 / -1; }
}

/* Our businesses · colour cards (Mosaic) */
.gsgr-businesses.is-cards { padding: 110px 0 60px; }
.gsgr-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.gsgr-card { background: var(--gsgr-c); color: var(--gsgr-on-c); display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(0, .68fr); min-height: 420px; scroll-margin-top: 90px; }
.gsgr-card__body { padding: 36px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; min-width: 0; }
.gsgr-card__top { display: flex; flex-direction: column; gap: 14px; }
.gsgr-card__no { font-size: 13px; font-weight: 700; }
.gsgr-card__name { margin: 0; font-family: var(--gsgr-font, var(--g-display)); font-size: clamp(2.2rem, 1.4rem + 1.6vw, 3rem); font-weight: 800; letter-spacing: -.04em; line-height: .95; color: inherit; }
.gsgr-card__copy { margin: 0; font-size: 16px; line-height: 1.55; }
.gsgr-card__tags { display: flex; gap: 6px; flex-wrap: wrap; }
.gsgr-card__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 18px; border-top: 1px solid color-mix(in srgb, var(--gsgr-on-c) 30%, transparent); flex-wrap: wrap; }
.gsgr-card__stat { display: flex; flex-direction: column; }
.gsgr-card__stat strong { font-family: var(--g-display); font-size: 30px; font-weight: 800; letter-spacing: -.03em; }
.gsgr-card__stat span { font-size: 13.5px; font-weight: 600; }
.gsgr-card__btn { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; min-height: 46px; padding: 0 18px; border-radius: 999px; font-weight: 700; font-size: 14.5px; text-decoration: none; background: var(--gsgr-on-c); color: var(--gsgr-c) !important; }
.gsgr-card__img { height: 100%; min-height: 220px; }
@media (max-width: 1100px) {
	.gsgr-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.gsgr-card { grid-template-columns: minmax(0, 1fr); min-height: 0; }
	.gsgr-card__img { height: 200px; min-height: 0; order: -1; }
	.gsgr-card__body { padding: 24px; }
}

/* Our businesses · brands (Parallel) */
.gsgr-businesses.is-brands { padding: 88px 0; border-bottom: 1px solid var(--g-line); }
.gsgr-brands { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.gsgr-brands__main { display: flex; flex-direction: column; gap: 18px; }
.gsgr-brands__side { display: flex; flex-direction: column; gap: 22px; }
.gsgr-brands__chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.gsgr-brandchip { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 12px; background: var(--gsgr-c-tint); text-decoration: none; color: var(--g-ink); }
.gsgr-brandchip .gsgr-mark { width: 40px; height: 40px; flex: none; }
.gsgr-brandchip > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gsgr-brandchip strong { font-size: 16px; }
.gsgr-brandchip__go { font-size: 13.5px; color: var(--gsgr-c-ink); font-weight: 600; }
@media (max-width: 900px) {
	.gsgr-brands { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
	.gsgr-brands__chips { grid-template-columns: minmax(0, 1fr); }
}

/* Marks and logos */
.gsgr-mark { display: block; width: 32px; height: 32px; flex: none; }
.gsgr-mark__bg { fill: var(--gsgr-c, var(--g-ink)); }
.gsgr-mark__fg { color: var(--gsgr-on-c, #fff); fill: var(--gsgr-on-c, #fff); }
.gsgr-mark--dark .gsgr-mark__bg { fill: #fff; }
.gsgr-mark--dark .gsgr-mark__fg { color: var(--gsgr-c-deep); fill: var(--gsgr-c-deep); }
.gsgr-look-parallel .gsgr-mark__bg, .gsgr-mode-individual .gsgr-mark__bg { rx: var(--gsgr-mark-r, 6px); }
.gsgr-logo { display: inline-flex; align-items: center; gap: 10px; font: var(--gsgr-weight, 700) 22px/1 var(--gsgr-font, var(--g-display)); color: var(--gsgr-c-deep, var(--g-ink)); }
.gsgr-logo .gsgr-mark { width: 40px; height: 40px; }
.gsgr-logo__img { display: block; max-height: 46px; width: auto; }
.gsgr-monogram { display: block; width: 34px; height: 34px; color: currentColor; flex: none; }
.gsgr-monogram.is-solid rect { fill: var(--g-ink); stroke: var(--g-ink); }
.gsgr-monogram.is-solid path, .gsgr-monogram.is-solid text { stroke: #fff; fill: #fff; }

/* Spotlight · tabs (Mosaic) -------------------------------------------- */
.gsgr-spotlight.is-tabs { padding: 60px 0 110px; }
.gsgr-tabs { display: flex; gap: 8px; background: var(--g-surface); border-radius: 999px; padding: 6px; flex-wrap: wrap; }
.gsgr-tabs button { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 0; font: 700 14.5px var(--g-body); cursor: pointer; background: transparent; color: var(--g-ink); }
.gsgr-tabdot { width: 10px; height: 10px; border-radius: 50%; background: var(--gsgr-c); }
.gsgr-tabs button[aria-selected="true"] { background: var(--gsgr-c); color: var(--gsgr-on-c); }
.gsgr-tabs button[aria-selected="true"] .gsgr-tabdot { background: var(--gsgr-on-c); }
.gsgr-spot__panel { background: var(--g-surface); padding: 36px; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px; }
.gsgr-spot__panel[hidden] { display: none; }
.gsgr-spot__left { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.gsgr-spot__title { margin: 0; font-family: var(--g-display); font-size: clamp(1.75rem, 1.2rem + 1.2vw, 2.25rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.02; }
.gsgr-pricelist { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; align-self: stretch; }
.gsgr-pricelist li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--g-line); font-size: 15.5px; }
.gsgr-pricelist li > span:first-child { font-weight: 600; }
.gsgr-spot__right { display: flex; flex-direction: column; gap: 14px; }
.gsgr-spot__label { font-size: 13px; font-weight: 700; color: var(--g-muted); }
.gsgr-spot__items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.gsgr-item { background: var(--g-paper); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; }
.gsgr-item__img { height: 150px; }
.gsgr-item__body { padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.gsgr-item__top { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; font-weight: 700; }
.gsgr-item__k { color: var(--g-muted); }
.gsgr-item__s { background: var(--gsgr-c-tint); color: var(--gsgr-c-ink); border-radius: 999px; padding: 2px 8px; white-space: nowrap; }
.gsgr-item__t { margin: 0; font-family: var(--g-display); font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.gsgr-item__t a { text-decoration: none; }
.gsgr-item__d { font-size: 14px; color: var(--g-muted); }
.gsgr-item__p { font-size: 16px; margin-top: 4px; }
@media (max-width: 1000px) {
	.gsgr-spot__panel { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.gsgr-spot__panel { padding: 22px; }
	.gsgr-spot__items { grid-template-columns: minmax(0, 1fr); }
	.gsgr-tabs { border-radius: 22px; }
}

/* Spotlight · sections (Charter) */
.gsgr-csec.is-listings { padding: 100px 0; }
.gsgr-csec__lead { max-width: 40em; margin: -20px 0 36px; }
.gsgr-csec.is-steps { background: var(--g-surface); border-top: 1px solid var(--g-line); border-bottom: 1px solid var(--g-line); }
.gsgr-csec__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.gsgr-csec__media { position: relative; }
.gsgr-csec__img { height: 560px; border-radius: 12px; }
.gsgr-csec__text { display: flex; flex-direction: column; gap: 28px; }
.gsgr-ops { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; background: #fff; color: #111214; border-radius: 10px; padding: 18px 20px; }
.gsgr-ops.is-overlay { position: absolute; left: 24px; right: 24px; bottom: 24px; box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .5); }
.gsgr-ops__fig { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gsgr-ops__fig + .gsgr-ops__fig { border-left: 1px solid #ecebe4; padding-left: 14px; }
.gsgr-ops__fig span { font-size: 12px; color: #55585f; }
.gsgr-ops__fig strong { font-family: var(--g-display); font-size: 24px; font-weight: 800; }
.gsgr-steplist { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--g-line); }
.gsgr-steplist li { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--g-line); }
.gsgr-steplist__no { font-family: var(--g-display); font-weight: 600; color: var(--g-muted); }
.gsgr-steplist__t { display: flex; flex-direction: column; gap: 4px; }
.gsgr-steplist__t strong { font-size: 17px; }
.gsgr-steplist__t span { font-size: 14px; color: var(--g-muted); line-height: 1.5; }
.gsgr-steplist__k { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--g-accent); }
.gsgr-pcards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.gsgr-pcard { display: flex; flex-direction: column; gap: 16px; }
.gsgr-pcard__img { height: 220px; border-radius: 10px; }
.gsgr-pcard__body { display: flex; flex-direction: column; gap: 6px; }
.gsgr-pcard__t { margin: 0; font-family: var(--g-display); font-size: 21px; font-weight: 700; }
.gsgr-pcard__d { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--g-muted); }
.gsgr-pcard__k { font-size: 13px; font-weight: 700; margin-top: 4px; }
@media (max-width: 1000px) {
	.gsgr-csec__cols { grid-template-columns: minmax(0, 1fr); }
	.gsgr-csec__img { height: 420px; }
	.gsgr-pcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.gsgr-pcards { grid-template-columns: minmax(0, 1fr); }
	.gsgr-csec__img { height: 340px; }
	.gsgr-ops { grid-template-columns: minmax(0, 1fr); }
	.gsgr-ops.is-overlay { position: static; margin-top: 12px; box-shadow: none; border: 1px solid var(--g-line); }
	.gsgr-ops__fig + .gsgr-ops__fig { border-left: 0; padding-left: 0; }
}

/* Spotlight · brand sections (Parallel) */
.gsgr-bsec { padding: 96px 0; font-family: var(--g-body); color: var(--g-ink); }
.gsgr-bsec.is-listings { background: var(--gsgr-c-tint); }
.gsgr-bsec.is-features { background: var(--g-surface); }
.gsgr-brandhead { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.gsgr-brandhead .gsgr-mark { width: 40px; height: 40px; }
.gsgr-brandhead__name { font: var(--gsgr-weight, 600) 24px/1.1 var(--gsgr-font, var(--g-display)); color: var(--gsgr-c-ink); letter-spacing: -.01em; }
.gsgr-brandhead__badge { font-size: 12px; font-weight: 700; letter-spacing: .14em; color: var(--gsgr-c-ink); border: 1px solid var(--gsgr-c-ink); border-radius: var(--gsgr-radius, 4px); padding: 3px 8px; }
.gsgr-bsec.is-features .gsgr-brandhead__badge { border: 0; background: var(--gsgr-c-tint); }
.gsgr-bsec__title { margin: 0; font: var(--gsgr-weight, 600) clamp(2.25rem, 1.2rem + 3vw, 3.625rem)/1.02 var(--gsgr-font, var(--g-display)); letter-spacing: -.01em; color: var(--gsgr-c-ink); }
.gsgr-bsec__title.is-big { font-size: clamp(2.5rem, 1.2rem + 3.6vw, 4.25rem); line-height: .98; letter-spacing: -.04em; color: var(--g-ink); }
.gsgr-bsec__title .gsgr-hl { color: var(--gsgr-c-text); }
.gsgr-bsec .gsgr-head__main { gap: 16px; max-width: 40em; }
.gsgr-bsec .gsgr-lead { color: color-mix(in srgb, var(--g-ink) 80%, var(--gsgr-c-tint)); }
.gsgr-bsec__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.gsgr-band { margin-top: 40px; background: var(--gsgr-c-deep); color: #fff; border-radius: var(--gsgr-radius, 6px); padding: 30px 36px; display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)) auto; gap: 28px; align-items: center; }
.gsgr-band__title { display: flex; flex-direction: column; gap: 4px; }
.gsgr-band__title strong { font: var(--gsgr-weight, 600) 26px/1.1 var(--gsgr-font, var(--g-display)); }
.gsgr-band__title span, .gsgr-band__fig span { font-size: 14px; color: color-mix(in srgb, #fff 84%, var(--gsgr-c-deep)); }
.gsgr-band__fig { display: flex; flex-direction: column; }
.gsgr-band__fig strong { font: 700 28px/1.1 var(--gsgr-font, var(--g-display)); }
.gsgr-band__btn { display: inline-flex; align-items: center; min-height: 50px; padding: 0 24px; border-radius: var(--gsgr-radius, 4px); background: #fff; color: var(--gsgr-c-deep) !important; font-weight: 700; text-decoration: none; white-space: nowrap; }
.gsgr-bsec__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.gsgr-bsec__text { display: flex; flex-direction: column; gap: 26px; }
.gsgr-feats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gsgr-feat { background: var(--gsgr-c-tint); border-radius: calc(var(--gsgr-radius, 18px) * .75 + 4px); padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.gsgr-feat__k { font: 700 13px var(--gsgr-font, var(--g-display)); color: var(--gsgr-c-ink); }
.gsgr-feat__t { font: 700 20px/1.2 var(--gsgr-font, var(--g-display)); letter-spacing: -.01em; }
.gsgr-feat__d { font-size: 14px; color: color-mix(in srgb, var(--g-ink) 78%, var(--gsgr-c-tint)); line-height: 1.5; }
.gsgr-bsec__media { display: flex; flex-direction: column; gap: 18px; }
.gsgr-bsec__photo { position: relative; border-radius: 24px; overflow: hidden; }
.gsgr-bsec__img { height: 330px; }
.gsgr-photo-pill { position: absolute; left: 18px; bottom: 18px; background: #fff; color: #15171a; border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 700; display: flex; gap: 8px; align-items: center; max-width: calc(100% - 36px); }
.gsgr-photo-pill__dot { width: 9px; height: 9px; border-radius: 50%; background: #1f7a4d; flex: none; }
.gsgr-fit { background: var(--gsgr-c-deep); color: #fff; border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.gsgr-fit__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.gsgr-fit__top strong { font: 700 24px var(--gsgr-font, var(--g-display)); }
.gsgr-fit__top span, .gsgr-fit__label { font-size: 13px; color: color-mix(in srgb, #fff 84%, var(--gsgr-c-deep)); font-weight: 700; }
.gsgr-fit__group { display: flex; flex-direction: column; gap: 8px; }
.gsgr-fit__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.gsgr-fit__chip { min-height: 40px; padding: 0 15px; border-radius: 999px; font: 700 14px var(--g-body); cursor: pointer; background: transparent; color: #fff; border: 1.5px solid color-mix(in srgb, #fff 45%, var(--gsgr-c-deep)); }
.gsgr-fit__chip[aria-pressed="true"] { background: #fff; color: var(--gsgr-c-deep); border-color: #fff; }
.gsgr-fit__result { background: #fff; color: #15171a; border-radius: 16px; padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.gsgr-fit__answer { display: flex; flex-direction: column; gap: 2px; }
.gsgr-fit__answer[hidden] { display: none; }
.gsgr-fit__answer strong { font: 700 18px var(--gsgr-font, var(--g-display)); }
.gsgr-fit__answer span { font-size: 14px; color: #5b5f66; }
.gsgr-fit__btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px; background: var(--gsgr-c); color: var(--gsgr-on-c) !important; font-weight: 700; text-decoration: none; white-space: nowrap; }
@media (max-width: 1000px) {
	.gsgr-bsec__cols { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.gsgr-bsec__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gsgr-band { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gsgr-band__title { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.gsgr-bsec { padding: 64px 0; }
	.gsgr-bsec__grid, .gsgr-feats { grid-template-columns: minmax(0, 1fr); }
	.gsgr-band { grid-template-columns: minmax(0, 1fr); padding: 24px; }
}

/* Listings ------------------------------------------------------------ */
.gsgr-listings.is-cards.is-archive, .gsgr-listings { padding-top: var(--gsgr-section); }
.gsgr-division .gsgr-listings, .is-division .gsgr-listings { background: var(--g-surface); border-top: 1px solid var(--g-line); border-bottom: 1px solid var(--g-line); }
.gsgr-listings__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.gsgr-listing { background: var(--g-surface); border: 1px solid var(--g-line); border-radius: var(--gsgr-card); overflow: hidden; display: flex; flex-direction: column; }
.gsgr-look-mosaic .gsgr-listing { border: 0; }
.gsgr-listing__media { position: relative; }
.gsgr-listing__img { height: 250px; }
.gsgr-listing__type { position: absolute; left: 14px; top: 14px; background: var(--g-ink); color: var(--g-paper); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; border-radius: 999px; padding: 6px 12px; }
.gsgr-listing__status { position: absolute; right: 14px; top: 14px; background: #fff; color: #111214; font-size: 12px; font-weight: 700; border-radius: 999px; padding: 6px 12px; }
.gsgr-listing__body { padding: 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.gsgr-listing__name { margin: 0; font-family: var(--g-display); font-size: 22px; font-weight: 700; letter-spacing: -.01em; }
.gsgr-listing__name a { text-decoration: none; color: var(--g-ink); }
.gsgr-listing__where { font-size: 14px; color: var(--g-muted); }
.gsgr-listing__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--g-line); }
.gsgr-listing__foot > span { display: flex; flex-direction: column; gap: 2px; }
.gsgr-listing__price { font-family: var(--g-display); font-size: 24px; font-weight: 800; color: var(--g-ink); }
.gsgr-listing__note { font-size: 13px; color: var(--g-muted); }
.gsgr-listing__more { font-weight: 700; font-size: 14px; text-decoration: none; color: var(--g-accent) !important; white-space: nowrap; }
.gsgr-look-mosaic .gsgr-listing__more { color: var(--gsgr-c-ink) !important; }
.gsgr-listing.is-brand { border: 0; border-radius: var(--gsgr-radius, 6px); }
.gsgr-listing.is-brand .gsgr-listing__img { height: 300px; }
.gsgr-listing.is-brand .gsgr-listing__status { left: 14px; right: auto; background: var(--gsgr-c); color: var(--gsgr-on-c); border-radius: var(--gsgr-radius, 4px); padding: 6px 10px; }
.gsgr-listing.is-brand .gsgr-listing__where { font-size: 13px; font-weight: 700; color: var(--gsgr-c-ink); letter-spacing: .06em; text-transform: uppercase; }
.gsgr-listing.is-brand .gsgr-listing__name { font: var(--gsgr-weight, 600) 24px/1.15 var(--gsgr-font, var(--g-display)); }
.gsgr-listing.is-brand .gsgr-listing__spec { font-size: 14.5px; color: var(--g-muted); }
.gsgr-listing.is-brand .gsgr-listing__foot { align-items: center; border-top-color: color-mix(in srgb, var(--gsgr-c-tint) 70%, var(--g-line)); }
.gsgr-listing.is-brand .gsgr-listing__price { font: 700 22px var(--gsgr-font, var(--g-display)); color: var(--gsgr-c-ink); }
.gsgr-listing.is-brand .gsgr-listing__more { color: var(--gsgr-c-ink) !important; }
.gsgr-listings__grid.is-even .gsgr-listing.is-brand .gsgr-listing__img { height: 230px; }
.gsgr-lfilter { display: flex; gap: 14px; align-items: flex-end; flex-wrap: wrap; background: var(--g-paper); border: 1px solid var(--g-line); border-radius: 12px; padding: 16px; margin: -10px 0 30px; }
.gsgr-segment { display: flex; gap: 4px; background: var(--g-surface); border: 1px solid var(--g-line); border-radius: 9px; padding: 4px; flex-wrap: wrap; }
.gsgr-segment__opt { position: relative; }
.gsgr-segment__opt input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.gsgr-segment__opt span { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 6px; font: 600 13.5px var(--g-body); color: var(--g-muted); }
.gsgr-segment__opt input:checked + span { background: var(--g-ink); color: var(--g-paper); }
.gsgr-segment__opt input:focus-visible + span { outline: 2px solid var(--g-accent); outline-offset: 2px; }
.gsgr-select { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 700; color: var(--g-muted); letter-spacing: .06em; text-transform: uppercase; flex: 1; min-width: 140px; }
.gsgr-select select { min-height: 46px; padding: 0 12px; border: 1px solid var(--g-line2); border-radius: 8px; background: var(--g-surface); font: 500 15px var(--g-body); color: var(--g-ink); letter-spacing: 0; text-transform: none; }
.gsgr-count { font-size: 14px; }
.gsgr-pagination { margin-top: 32px; display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.gsgr-pagination .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 0 12px; border-radius: var(--gsgr-btn); border: 1px solid var(--g-line2); text-decoration: none; font-weight: 700; }
.gsgr-pagination .page-numbers.current { background: var(--g-ink); color: var(--g-paper); border-color: var(--g-ink); }
.gsgr-listings .gsgr-center { margin: 32px 0 0; }
@media (max-width: 1000px) {
	.gsgr-listings__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.gsgr-listings__grid { grid-template-columns: minmax(0, 1fr); }
	.gsgr-listing__img, .gsgr-listing.is-brand .gsgr-listing__img { height: 220px; }
	.gsgr-lfilter > * { flex: 1 1 100%; }
}

/* Services ------------------------------------------------------------ */
.gsgr-services { padding: 110px 0 90px; }
.gsgr-services__grid.is-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1.5px solid var(--g-ink); }
.gsgr-services__grid.is-columns.is-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gsgr-services__grid.is-columns.is-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gsgr-scol { padding: 26px; display: flex; flex-direction: column; gap: 12px; border-right: 1px solid var(--g-line); }
.gsgr-scol:first-child { padding-left: 0; }
.gsgr-scol:last-child { border-right: 0; }
.gsgr-scol__no { font-family: var(--g-display); font-size: 14px; font-weight: 600; color: var(--g-muted); }
.gsgr-scol__t { margin: 0; font-family: var(--g-display); font-size: 24px; font-weight: 700; }
.gsgr-scol__d { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--g-muted); }
.gsgr-scol__p { font-size: 15px; margin-top: auto; }
.gsgr-services__grid.is-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.gsgr-scard { background: var(--g-surface); border-radius: var(--gsgr-card); overflow: hidden; padding-bottom: 18px; }
.gsgr-scard img, .gsgr-scard .gsgr-ph { height: 180px; }
.gsgr-scard h3, .gsgr-scard p, .gsgr-scard strong { margin: 12px 18px 0; display: block; }
.gsgr-pricelist.is-wide { max-width: 760px; }
@media (max-width: 1000px) {
	.gsgr-services__grid.is-columns, .gsgr-services__grid.is-columns.is-n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gsgr-scol:nth-child(odd) { padding-left: 0; }
	.gsgr-scol:nth-child(2n) { border-right: 0; }
	.gsgr-scol:nth-child(n+3) { border-top: 1px solid var(--g-line); }
}
@media (max-width: 600px) {
	.gsgr-services__grid.is-columns, .gsgr-services__grid.is-columns.is-n3, .gsgr-services__grid.is-columns.is-n2 { grid-template-columns: minmax(0, 1fr); }
	.gsgr-scol { padding-left: 0; border-right: 0; border-top: 1px solid var(--g-line); }
	.gsgr-scol:first-child { border-top: 0; }
}

/* Numbers -------------------------------------------------------------- */
.gsgr-numbers.is-band, .gsgr-numbers.is-bars { background: var(--g-deep); color: var(--g-on-deep); }
.gsgr-numbers.is-band .gsgr-h2, .gsgr-numbers.is-bars .gsgr-h2 { color: var(--g-on-deep); }
.gsgr-numbers.is-band .gsgr-h2 .gsgr-it { color: var(--g-accent-deep); }
.gsgr-numbers.is-band .gsgr-eyebrow { color: var(--g-accent-deep); }
.gsgr-numbers .gsgr-muted { color: var(--g-muted-deep); font-size: 14px; }
.gsgr-nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid color-mix(in srgb, var(--g-on-deep) 18%, var(--g-deep)); }
.gsgr-num { padding: 32px 28px 8px 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.gsgr-num__v { font-family: var(--g-display); font-size: clamp(3rem, 1.6rem + 3vw, 4.5rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.gsgr-num__l { font-size: 15px; font-weight: 600; }
.gsgr-num__n { font-size: 13.5px; color: var(--g-muted-deep); line-height: 1.5; }
.gsgr-numbers.is-bars .gsgr-nums { border-top: 0; gap: 20px; }
.gsgr-numbers.is-bars .gsgr-num { border-top: 1px solid color-mix(in srgb, var(--g-on-deep) 18%, var(--g-deep)); padding: 22px 0 0; }
.gsgr-numbers.is-bars .gsgr-num__v { font-size: clamp(2.6rem, 1.6rem + 2vw, 3.5rem); letter-spacing: -.03em; }
.gsgr-num__bar { display: flex; height: 8px; border-radius: 9px; overflow: hidden; gap: 2px; background: color-mix(in srgb, var(--g-on-deep) 10%, var(--g-deep)); }
.gsgr-num__bar span, .gsgr-split-bar__bar span { background: var(--gsgr-c-bright); }
.gsgr-split-bar { display: flex; flex-direction: column; gap: 10px; margin-top: 40px; }
.gsgr-split-bar__label { font-size: 13px; color: var(--g-muted-deep); }
.gsgr-split-bar__bar { display: flex; height: 14px; border-radius: 9px; overflow: hidden; gap: 3px; }
.gsgr-key { display: flex; gap: 10px 28px; flex-wrap: wrap; font-size: 13px; margin-top: 18px; }
.gsgr-key > span { display: inline-flex; align-items: center; gap: 8px; color: var(--gsgr-c-bright); font-weight: 600; }
.gsgr-key__sw { width: 10px; height: 10px; border-radius: 2px; background: var(--gsgr-c-bright); }
.gsgr-numbers.is-bento { padding-top: 0; }
.gsgr-nb { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: 230px 230px; gap: 16px; }
.gsgr-nb__big { grid-column: 1 / 3; grid-row: 1 / 3; background: var(--g-deep); color: var(--g-on-deep); padding: 36px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; }
.gsgr-nb__fig { display: flex; flex-direction: column; gap: 10px; }
.gsgr-nb__l { font-size: 14px; color: var(--g-muted-deep); }
.gsgr-nb__v { font-family: var(--g-display); font-size: clamp(3.5rem, 2rem + 4vw, 7rem); font-weight: 800; letter-spacing: -.05em; line-height: .9; }
.gsgr-chart { display: flex; align-items: flex-end; gap: 14px; height: 120px; }
.gsgr-chart__col { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; height: 100%; }
.gsgr-chart__bar { display: block; border-radius: 8px 8px 3px 3px; background: color-mix(in srgb, var(--g-on-deep) 18%, var(--g-deep)); }
.gsgr-chart__col.is-now .gsgr-chart__bar { background: var(--wp--preset--color--tile-1-bright, var(--g-accent-deep)); }
.gsgr-chart__y { font-size: 12.5px; color: var(--g-muted-deep); text-align: center; }
.gsgr-nb .gsgr-split-bar { margin: 0; }
.gsgr-nb .gsgr-split-bar__label { display: none; }
.gsgr-nb .gsgr-split-bar__bar { height: 22px; border-radius: 999px; }
.gsgr-nb .gsgr-key { margin-top: 0; gap: 18px; }
.gsgr-nb__d { background: var(--gsgr-c); color: var(--gsgr-on-c); padding: 26px; display: flex; flex-direction: column; justify-content: space-between; }
.gsgr-nb__dl { font-size: 14px; font-weight: 600; }
.gsgr-nb__dv { font-family: var(--g-display); font-size: clamp(2.6rem, 1.8rem + 1.6vw, 3.625rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.gsgr-nb__dn { font-size: 13.5px; font-weight: 500; }
@media (max-width: 1000px) {
	.gsgr-nums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gsgr-nb { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
	.gsgr-nb__big { grid-column: 1 / -1; grid-row: auto; }
	.gsgr-nb__d { min-height: 200px; }
}
@media (max-width: 480px) {
	.gsgr-nums { grid-template-columns: minmax(0, 1fr); }
	.gsgr-nb { grid-template-columns: minmax(0, 1fr); }
	.gsgr-nb__big { padding: 24px; }
	.gsgr-chart { gap: 8px; }
}

/* How it works -------------------------------------------------------- */
.gsgr-how.is-cards { padding-top: 0; }
.gsgr-how__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gsgr-how__card { background: var(--g-surface); padding: 30px; display: flex; flex-direction: column; gap: 14px; min-height: 260px; }
.gsgr-how__n { width: 56px; height: 56px; border-radius: 18px; background: var(--gsgr-c-tint); color: var(--gsgr-c-ink); display: flex; align-items: center; justify-content: center; font: 800 26px var(--g-display); }
.gsgr-how__t { margin: 0; font-family: var(--g-display); font-size: 28px; font-weight: 800; letter-spacing: -.03em; }
.gsgr-how__d { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--g-muted); }
.gsgr-how.is-steps { background: var(--g-paper); }
.gsgr-steps { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gsgr-steps.is-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gsgr-steps__item { display: flex; flex-direction: column; gap: 14px; padding-right: 28px; }
.gsgr-steps__row { display: flex; align-items: center; gap: 12px; }
.gsgr-steps__n { width: 44px; height: 44px; border-radius: 50%; background: var(--g-surface); color: var(--g-ink); border: 1.5px solid var(--g-ink); display: flex; align-items: center; justify-content: center; font: 800 16px var(--g-display); flex: none; }
.gsgr-steps__item.is-first .gsgr-steps__n { background: var(--g-ink); color: var(--g-paper); }
.gsgr-steps__line { flex: 1; height: 1.5px; background: var(--g-ink); }
.gsgr-steps__item:last-child .gsgr-steps__line { background: transparent; }
.gsgr-steps__t { margin: 0; font-family: var(--g-display); font-size: 22px; font-weight: 700; }
.gsgr-steps__d { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--g-muted); }
.gsgr-mode-individual .gsgr-steps__n { border-color: var(--gsgr-c-deep); color: var(--gsgr-c-deep); }
.gsgr-mode-individual .gsgr-steps__item.is-first .gsgr-steps__n { background: var(--gsgr-c-deep); color: #fff; }
.gsgr-mode-individual .gsgr-steps__line { background: var(--gsgr-c-deep); }
@media (max-width: 900px) {
	.gsgr-how__cards { grid-template-columns: minmax(0, 1fr); }
	.gsgr-how__card { min-height: 0; }
	.gsgr-steps, .gsgr-steps.is-n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 0; }
}
@media (max-width: 480px) {
	.gsgr-steps, .gsgr-steps.is-n3 { grid-template-columns: minmax(0, 1fr); }
}

/* About ---------------------------------------------------------------- */
.gsgr-about__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); }
.gsgr-about__left { display: flex; flex-direction: column; gap: 28px; }
.gsgr-about__q { margin: 0; display: flex; flex-direction: column; gap: 22px; }
.gsgr-about__q p { margin: 0; font-family: var(--g-it); font-style: italic; font-size: clamp(2rem, 1.2rem + 2vw, 2.875rem); line-height: 1.12; color: var(--g-ink); }
.gsgr-about__by { display: flex; align-items: center; gap: 14px; }
.gsgr-about__by > span { display: flex; flex-direction: column; }
.gsgr-about__by > span > span { font-size: 14px; color: var(--g-muted); }
.gsgr-about.is-story .gsgr-about__img { height: 300px; border-radius: 12px; }
.gsgr-about__right { display: flex; flex-direction: column; gap: 32px; padding-top: 40px; }
.gsgr-lead.is-story { font-size: 18px; color: var(--g-ink); opacity: .85; }
.gsgr-timeline { display: flex; flex-direction: column; border-top: 1.5px solid var(--g-ink); }
.gsgr-timeline__row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--g-line); }
.gsgr-timeline__y { font-family: var(--g-display); font-size: 22px; font-weight: 800; }
.gsgr-timeline__row > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.gsgr-timeline__row strong { font-size: 16px; }
.gsgr-timeline__row > span > span { font-size: 14.5px; color: var(--g-muted); line-height: 1.5; }
.gsgr-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gsgr-value { background: var(--g-surface); border: 1px solid var(--g-line); border-radius: 10px; padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.gsgr-value strong { font-family: var(--g-display); font-size: 17px; font-weight: 700; }
.gsgr-value span { font-size: 13.5px; color: var(--g-muted); line-height: 1.5; }
.gsgr-about.is-card { padding-top: 0; }
.gsgr-about.is-card .gsgr-about__grid { gap: 16px; }
.gsgr-about__card { background: var(--gsgr-c); color: var(--gsgr-on-c); padding: 48px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; min-height: 520px; }
.gsgr-about__eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.gsgr-about__quote { margin: 0; font-family: var(--g-display); font-size: clamp(1.9rem, 1.1rem + 2vw, 2.875rem); font-weight: 700; line-height: 1.05; letter-spacing: -.035em; }
.gsgr-about__card .gsgr-about__by > span > span { color: color-mix(in srgb, var(--gsgr-on-c) 86%, var(--gsgr-c)); }
.gsgr-about__card .gsgr-face { border: 3px solid var(--gsgr-on-c); filter: none; width: 56px; height: 56px; }
.gsgr-about__side { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 16px; }
.gsgr-about__photo img, .gsgr-about__photo .gsgr-ph { height: 100%; min-height: 300px; }
.gsgr-about.is-card .gsgr-value { border: 0; border-radius: 22px; padding: 22px; }
.gsgr-about.is-card .gsgr-value strong { font-size: 20px; font-weight: 800; letter-spacing: -.02em; }
.gsgr-about.is-photo .gsgr-about__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(32px, 5vw, 72px); }
.gsgr-about__media { position: relative; }
.gsgr-about.is-photo .gsgr-about__img { height: 520px; border-radius: 16px; }
.gsgr-about__float { position: absolute; right: -28px; bottom: 36px; background: #fff; color: #15171a; border-radius: 14px; padding: 18px 20px; box-shadow: 0 24px 48px -24px rgba(21, 23, 26, .45); display: flex; flex-direction: column; gap: 4px; max-width: 250px; }
.gsgr-about__float span { font-size: 13.5px; color: #5b5f66; line-height: 1.5; }
.gsgr-about__text { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.gsgr-about__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--g-line); border-bottom: 1px solid var(--g-line); align-self: stretch; }
.gsgr-about__stat { padding: 20px; display: flex; flex-direction: column; gap: 4px; border-left: 1px solid var(--g-line); }
.gsgr-about__stat:first-child { padding-left: 0; border-left: 0; }
.gsgr-about__stat strong { font-size: 26px; font-weight: 800; }
.gsgr-about__stat span { font-size: 14px; color: var(--g-muted); }
@media (max-width: 1000px) {
	.gsgr-about__grid, .gsgr-about.is-photo .gsgr-about__grid { grid-template-columns: minmax(0, 1fr); }
	.gsgr-about__right { padding-top: 0; }
	.gsgr-about__float { right: 12px; }
	.gsgr-about__card { min-height: 0; padding: 32px; }
}
@media (max-width: 600px) {
	.gsgr-values { grid-template-columns: minmax(0, 1fr); }
	.gsgr-about.is-photo .gsgr-about__img { height: 360px; }
	.gsgr-about__float { position: static; margin-top: 12px; max-width: none; box-shadow: none; border: 1px solid var(--g-line); }
	.gsgr-about__stats { grid-template-columns: minmax(0, 1fr); }
	.gsgr-about__stat { padding-left: 0; border-left: 0; border-top: 1px solid var(--g-line); }
	.gsgr-about__stat:first-child { border-top: 0; }
}

/* Team ---------------------------------------------------------------- */
.gsgr-team { background: var(--g-surface); }
.gsgr-look-charter .gsgr-team { border-top: 1px solid var(--g-line); }
.gsgr-team.is-contacts { background: transparent; }
.gsgr-team__grid { display: grid; gap: 24px; }
.gsgr-team__grid.is-portraits { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gsgr-team__grid.is-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.gsgr-team__grid.is-rings { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.gsgr-team__grid.is-contacts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.gsgr-person { display: flex; flex-direction: column; gap: 14px; }
.gsgr-person__photo { display: block; }
.gsgr-person__img { aspect-ratio: 4 / 5; height: auto; border-radius: 10px; object-position: 50% 25%; }
.gsgr-team.is-grid .gsgr-person__img { border-radius: 14px; }
.gsgr-person__body { display: flex; flex-direction: column; gap: 3px; }
.gsgr-person__name { margin: 0; font-family: var(--g-display); font-size: 21px; font-weight: 700; }
.gsgr-person__name a { text-decoration: none; color: var(--g-ink); }
.gsgr-person__role { font-size: 14px; color: var(--g-muted); }
.gsgr-person__mail { font-size: 13px; margin-top: 4px; color: var(--g-ink); text-decoration: none; }
.gsgr-person__tags { display: flex; gap: 6px; flex-wrap: wrap; }
.gsgr-look-charter .gsgr-person__tags .gsgr-tag { background: var(--g-paper); }
.gsgr-team.is-grid .gsgr-person { gap: 12px; }
.gsgr-team.is-grid .gsgr-person__name { font-size: 17px; font-weight: 800; }
.gsgr-team.is-grid .gsgr-person__role { font-size: 13.5px; }
.gsgr-team.is-rings .gsgr-person { align-items: center; text-align: center; gap: 12px; }
.gsgr-ring { display: block; padding: 5px; border-radius: 50%; }
.gsgr-ring .gsgr-person__img { width: 150px; height: 150px; aspect-ratio: 1; border-radius: 50%; border: 4px solid var(--g-surface); max-width: 100%; }
.gsgr-team.is-rings .gsgr-person__name { font-size: 19px; }
.gsgr-team.is-rings .gsgr-person__tags { justify-content: center; }
.gsgr-team__split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.gsgr-team__intro { display: flex; flex-direction: column; gap: 16px; }
.gsgr-team__intro .gsgr-underline { margin-top: 4px; align-self: flex-start; }
.gsgr-team.is-contacts .gsgr-person__name { font-size: 20px; }
@media (max-width: 1100px) {
	.gsgr-team__grid.is-grid, .gsgr-team__grid.is-rings { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.gsgr-team__grid.is-portraits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gsgr-team__split { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.gsgr-team__grid.is-grid, .gsgr-team__grid.is-rings, .gsgr-team__grid.is-contacts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.gsgr-ring .gsgr-person__img { width: 120px; height: 120px; }
	.gsgr-head__side { align-items: flex-start; }
}

/* News ---------------------------------------------------------------- */
.gsgr-news__grid { display: grid; gap: 28px; }
.gsgr-news__grid.is-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gsgr-news__grid.is-cards { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.gsgr-news.is-archive .gsgr-news__grid.is-cards, .gsgr-news__grid.is-cards[data-limit="0"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gsgr-ncol { display: flex; flex-direction: column; gap: 16px; border-top: 1.5px solid var(--g-ink); padding-top: 18px; }
.gsgr-ncol__top { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--g-muted); }
.gsgr-ncol__div { color: var(--g-accent); }
.gsgr-ncol__img { height: 220px; border-radius: 10px; }
.gsgr-ncol__t, .gsgr-ncard__t, .gsgr-nrow__t { margin: 0; font-family: var(--g-display); font-size: 23px; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; }
.gsgr-ncol__t a, .gsgr-ncard__t a, .gsgr-nrow__t a { text-decoration: none; color: var(--g-ink); }
.gsgr-ncol p, .gsgr-ncard p, .gsgr-nrow p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--g-muted); }
.gsgr-ncol__more { font-weight: 700; font-size: 14px; text-decoration: none; }
.gsgr-news.is-division { background: var(--g-surface); border-top: 1px solid var(--g-line); }
.gsgr-news.is-division .gsgr-ncol__t { font-size: 22px; }
.gsgr-ncard { background: var(--g-surface); display: flex; flex-direction: column; }
.gsgr-ncard__img { height: 240px; }
.gsgr-ncard__body { padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.gsgr-ncard__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 13.5px; }
.gsgr-ncard__t { font-size: 24px; line-height: 1.15; letter-spacing: -.02em; }
.gsgr-news__split { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.gsgr-news__side { display: flex; flex-direction: column; gap: 20px; }
.gsgr-news__list { display: flex; flex-direction: column; border-top: 1px solid var(--g-line2); }
.gsgr-nrow { display: grid; grid-template-columns: 200px minmax(0, 1fr) 120px; gap: 28px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--g-line2); }
.gsgr-nrow__img { height: 128px; border-radius: 12px; }
.gsgr-nrow__body { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.gsgr-nrow__t { font-size: 22px; font-weight: 800; line-height: 1.25; }
.gsgr-nrow__date { font-size: 14px; color: var(--g-muted); text-align: right; }
.gsgr-news.is-list { background: var(--g-paper); }
@media (max-width: 1000px) {
	.gsgr-news__grid.is-columns, .gsgr-news__grid.is-cards, .gsgr-news.is-archive .gsgr-news__grid.is-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gsgr-news__split { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.gsgr-news__grid.is-columns, .gsgr-news__grid.is-cards, .gsgr-news.is-archive .gsgr-news__grid.is-cards { grid-template-columns: minmax(0, 1fr); }
	.gsgr-nrow { grid-template-columns: 110px minmax(0, 1fr); gap: 16px; }
	.gsgr-nrow__img { height: 90px; }
	.gsgr-nrow__date { grid-column: 2; text-align: left; margin-top: -10px; }
	.gsgr-nrow__t { font-size: 18px; }
	.gsgr-chips.is-stack { flex-direction: row; flex-wrap: wrap; }
}

/* Testimonials --------------------------------------------------------- */
.gsgr-quotes.is-tiles { padding-top: 0; }
.gsgr-quotes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gsgr-quotes__grid.is-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gsgr-quotes__grid.is-n1 { grid-template-columns: minmax(0, 1fr); }
.gsgr-quote { margin: 0; background: var(--g-surface); color: var(--g-ink); padding: 32px; display: flex; flex-direction: column; justify-content: space-between; gap: 26px; min-height: 300px; }
.gsgr-quote.is-dark { background: var(--g-deep); color: var(--g-on-deep); }
.gsgr-quote.is-dark .gsgr-badge { background: var(--gsgr-c); color: var(--gsgr-on-c); }
.gsgr-quote__q { margin: 0; font-family: var(--g-display); font-size: clamp(1.4rem, 1.1rem + .8vw, 1.625rem); font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }
.gsgr-quote__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; }
.gsgr-quotes.is-band { background: var(--g-deep); color: var(--g-on-deep); padding: 90px 0; }
.gsgr-qband { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.gsgr-qband__q { margin: 0; display: flex; flex-direction: column; gap: 22px; }
.gsgr-qband__q p { margin: 0; font-family: var(--g-it); font-style: italic; font-size: clamp(1.9rem, 1.2rem + 1.8vw, 2.75rem); line-height: 1.15; }
.gsgr-look-mosaic .gsgr-qband__q p, .gsgr-look-parallel .gsgr-qband__q p { font-family: var(--gsgr-font, var(--g-display)); font-style: normal; font-weight: 700; letter-spacing: -.02em; }
.gsgr-qband__q footer { font-size: 15px; color: var(--g-muted-deep); }
.gsgr-qband__figs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: color-mix(in srgb, var(--g-on-deep) 18%, var(--g-deep)); border: 1px solid color-mix(in srgb, var(--g-on-deep) 18%, var(--g-deep)); border-radius: 12px; overflow: hidden; }
.gsgr-qband__fig { background: var(--g-deep); padding: 26px; display: flex; flex-direction: column; gap: 6px; }
.gsgr-qband__fig strong { font-family: var(--g-display); font-size: clamp(2rem, 1.4rem + 1.2vw, 2.875rem); font-weight: 800; letter-spacing: -.03em; }
.gsgr-qband__fig span { font-size: 14px; color: var(--g-muted-deep); }
@media (max-width: 900px) {
	.gsgr-quotes__grid, .gsgr-quotes__grid.is-n2 { grid-template-columns: minmax(0, 1fr); }
	.gsgr-quote { min-height: 0; }
	.gsgr-qband { grid-template-columns: minmax(0, 1fr); }
}

/* The routed contact form ---------------------------------------------- */
.gsgr-contact { background: var(--g-surface); border-top: 1px solid var(--g-line); }
.gsgr-look-mosaic .gsgr-contact { border-top: 0; }
.gsgr-contact.is-parallel { background: var(--gsgr-c-tint); transition: background-color .3s ease; }
.gsgr-contact.is-preset { background: transparent; border-top: 0; }
.gsgr-contact__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.gsgr-contact__text { display: flex; flex-direction: column; gap: 22px; }
.gsgr-contact__details { display: flex; flex-direction: column; gap: 12px; font-size: 15px; padding-top: 14px; border-top: 1px solid var(--g-line); }
.gsgr-contact__details a { text-decoration: none; }
.gsgr-contact.is-parallel .gsgr-contact__details { border-top: 0; padding-top: 0; gap: 10px; }
.gsgr-contact__form { background: var(--g-paper); border: 1px solid var(--g-line); border-radius: 14px; padding: 32px; display: flex; flex-direction: column; gap: 20px; }
.gsgr-contact.is-mosaic .gsgr-contact__form { border: 0; padding: 32px; gap: 18px; }
.gsgr-contact.is-parallel .gsgr-contact__form { background: var(--g-surface); border: 0; border-radius: 18px; padding: 30px; box-shadow: 0 30px 60px -40px rgba(21, 23, 26, .4); }
.gsgr-contact.is-preset .gsgr-contact__form { background: var(--g-surface); }
.gsgr-routes { border: 0; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.gsgr-routes__legend { font-family: var(--g-display); font-size: 20px; font-weight: 700; margin-bottom: 12px; padding: 0; }
.gsgr-route { position: relative; display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 10px; cursor: pointer; background: var(--g-surface); border: 1px solid var(--g-line); color: var(--g-ink); font-weight: 600; min-width: 0; }
.gsgr-route input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gsgr-route__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gsgr-route__label { font-size: 15px; }
.gsgr-route__hint { font-size: 13px; color: var(--g-muted); font-weight: 400; }
.gsgr-route__sw { flex: none; width: 16px; height: 16px; margin-top: 3px; border-radius: 50%; border: 1.5px solid var(--g-muted); }
.gsgr-route:has(input:checked) { border: 1.5px solid var(--g-ink); }
.gsgr-route:has(input:checked) .gsgr-route__sw { border: 5px solid var(--g-ink); }
.gsgr-route:has(input:focus-visible) { outline: 2px solid var(--g-accent); outline-offset: 2px; }
.gsgr-routes.is-mosaic .gsgr-route { align-items: center; gap: 14px; padding: 16px; border-radius: 20px; border: 2px solid var(--g-line2); }
.gsgr-routes.is-mosaic .gsgr-route__sw { width: 40px; height: 40px; border-radius: 13px; border: 0; margin: 0; background: var(--gsgr-c); }
.gsgr-routes.is-mosaic .gsgr-route__label { font-family: var(--g-display); font-size: 19px; font-weight: 700; }
.gsgr-routes.is-mosaic .gsgr-route:has(input:checked) { border: 2.5px solid var(--gsgr-c); box-shadow: 0 0 0 4px var(--gsgr-c-tint); }
.gsgr-routes.is-mosaic .gsgr-route:has(input:checked) .gsgr-route__sw { border: 0; }
.gsgr-routes .gsgr-route.is-group:nth-child(odd) { grid-column: 1 / -1; }
.gsgr-routes.is-parallel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gsgr-routes.is-parallel .gsgr-route { flex-direction: column; gap: 8px; padding: 16px; border-radius: 12px; border: 1px solid var(--g-line2); }
.gsgr-routes.is-parallel .gsgr-route .gsgr-mark, .gsgr-routes.is-parallel .gsgr-route .gsgr-monogram { width: 30px; height: 30px; }
.gsgr-routes.is-parallel .gsgr-route__label { font-size: 15px; }
.gsgr-routes.is-parallel .gsgr-route__hint { font-size: 12.5px; }
.gsgr-routes.is-parallel .gsgr-route:has(input:checked) { border: 2px solid var(--gsgr-c-deep); box-shadow: 0 0 0 4px var(--gsgr-c-tint); }
.gsgr-routes.is-parallel .gsgr-route.is-group { grid-column: auto; }
.gsgr-routes.is-parallel .gsgr-route.is-group:has(input:checked) { border-color: var(--g-ink); }
.gsgr-contact__writing { display: flex; align-items: center; gap: 12px; background: var(--g-surface); border-radius: 16px; padding: 14px 16px; font-size: 15px; }
.gsgr-contact__dot { flex: none; width: 16px; height: 16px; border-radius: 50%; background: var(--gsgr-c); }
.gsgr-who { display: flex; gap: 8px; flex-wrap: wrap; }
.gsgr-who__opt { position: relative; flex: 1; min-width: 100px; }
.gsgr-who__opt input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.gsgr-who__opt span { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 8px; border: 1px solid var(--g-line2); background: var(--g-surface); font: 600 14px var(--g-body); }
.gsgr-who__opt input:checked + span { background: var(--g-ink); color: var(--g-paper); border-color: var(--g-ink); }
.gsgr-who__opt input:focus-visible + span { outline: 2px solid var(--g-accent); outline-offset: 2px; }
.gsgr-fields__two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.gsgr-field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--g-ink); min-width: 0; }
.gsgr-look-mosaic .gsgr-field { font-weight: 700; }
.gsgr-field input, .gsgr-field select, .gsgr-field textarea { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--g-line2); border-radius: 8px; background: var(--g-surface); font: 400 15px var(--g-body); color: var(--g-ink); }
.gsgr-look-mosaic .gsgr-field input, .gsgr-look-mosaic .gsgr-field textarea, .gsgr-look-mosaic .gsgr-field select { border: 2px solid var(--g-line2); border-radius: 16px; min-height: 52px; padding: 12px 16px; }
.gsgr-look-parallel .gsgr-field input, .gsgr-look-parallel .gsgr-field textarea, .gsgr-look-parallel .gsgr-field select { border-radius: 10px; }
.gsgr-field textarea { min-height: 110px; resize: vertical; }
.gsgr-field input::placeholder, .gsgr-field textarea::placeholder { color: var(--g-muted); opacity: .85; }
.gsgr-field input:focus, .gsgr-field textarea:focus, .gsgr-field select:focus { outline: 2px solid var(--g-accent); outline-offset: 1px; border-color: transparent; }
.gsgr-contact__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 6px; border-top: 1px solid var(--g-line); flex-wrap: wrap; }
.gsgr-contact.is-mosaic .gsgr-contact__foot, .gsgr-contact.is-parallel .gsgr-contact__foot { border-top: 0; padding-top: 0; }
.gsgr-contact__goes { font-size: 13.5px; color: var(--g-muted); }
.gsgr-contact__goes strong { color: var(--g-ink); }
.gsgr-contact.is-parallel .gsgr-contact__goes strong { color: var(--gsgr-c-text); }
.gsgr-contact__send { display: inline-flex; align-items: center; gap: 8px; min-height: 50px; padding: 0 24px; border: 0; border-radius: var(--gsgr-btn); background: var(--g-ink); color: var(--g-paper); font: 700 15px var(--g-body); cursor: pointer; }
.gsgr-contact__send:hover { background: var(--g-accent); color: var(--g-on-accent); }
.gsgr-contact.is-parallel .gsgr-contact__send { background: var(--gsgr-c-deep); color: #fff; border-radius: var(--gsgr-radius, 10px); }
.gsgr-contact__send[disabled] { opacity: .6; cursor: progress; }
.gsgr-form-note { margin: 0; padding: 12px 14px; border-radius: 10px; font-size: 14.5px; font-weight: 600; background: var(--g-line); }
.gsgr-form-note.is-ok { background: #e3f2e8; color: #14532d; }
.gsgr-form-note.is-error { background: #fde4e1; color: #8a1c13; }
.gsgr-about-line { background: var(--g-paper); border-radius: 10px; padding: 12px 14px; }
.gsgr-about-line > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; font-size: 14px; list-style: none; }
.gsgr-about-line > summary::-webkit-details-marker { display: none; }
.gsgr-about-line__change { font-size: 13px; font-weight: 600; border-bottom: 1px solid var(--g-ink); }
.gsgr-about-line[open] .gsgr-routes { margin-top: 14px; }
.gsgr-contact .gsc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 1000px) {
	.gsgr-contact__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.gsgr-contact__form, .gsgr-contact.is-mosaic .gsgr-contact__form, .gsgr-contact.is-parallel .gsgr-contact__form { padding: 20px; }
	.gsgr-fields__two { grid-template-columns: minmax(0, 1fr); }
	.gsgr-routes, .gsgr-routes.is-parallel { grid-template-columns: minmax(0, 1fr); }
	.gsgr-routes .gsgr-route.is-group:nth-child(odd) { grid-column: auto; }
	.gsgr-contact__send { width: 100%; justify-content: center; }
}

/* Also part of the group */
.gsgr-also { padding-top: 0; }
.gsgr-also .gsgr-eyebrow { margin-bottom: 24px; }
.gsgr-also__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.gsgr-also__grid.is-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gsgr-also__grid.is-n1 { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
.gsgr-also__card { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr) 40px; gap: 24px; align-items: center; padding: 16px 22px 16px 16px; text-decoration: none; color: var(--g-ink); background: var(--g-surface); border: 1px solid var(--g-line); border-radius: var(--gsgr-card); }
.gsgr-also__img { height: 120px; border-radius: 8px; }
.gsgr-also__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.gsgr-also__no { font-family: var(--g-display); font-size: 13px; font-weight: 600; color: var(--g-muted); }
.gsgr-also__name { font-family: var(--gsgr-font, var(--g-display)); font-size: 28px; font-weight: 800; letter-spacing: -.02em; }
.gsgr-also__hint { font-size: 14px; color: var(--g-muted); }
.gsgr-also__go { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--g-ink); display: flex; align-items: center; justify-content: center; }
.gsgr-also__grid.is-n3 .gsgr-also__card { grid-template-columns: minmax(0, 1fr) 40px; }
.gsgr-also__grid.is-n3 .gsgr-also__img { grid-column: 1 / -1; height: 160px; }
@media (max-width: 900px) {
	.gsgr-also__grid, .gsgr-also__grid.is-n3 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.gsgr-also__card { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 12px; }
	.gsgr-also__img { height: 84px; }
	.gsgr-also__go { display: none; }
	.gsgr-also__name { font-size: 22px; }
}

/* Switcher bar, brand, headers ----------------------------------------- */
.gsgr-switcher { background: var(--g-deep); color: var(--g-on-deep); font-size: 12.5px; }
.gsgr-switcher__row { display: flex; justify-content: space-between; align-items: center; min-height: 40px; gap: 12px 24px; flex-wrap: wrap; padding-block: 6px; }
.gsgr-switcher__list, .gsgr-switcher__right { display: flex; gap: 6px 22px; align-items: center; flex-wrap: wrap; }
.gsgr-switcher__label { color: var(--g-muted-deep); }
.gsgr-switcher a { color: var(--g-on-deep); text-decoration: none; }
.gsgr-switcher a.is-current { font-weight: 700; border-bottom: 1.5px solid var(--g-accent-deep); padding-bottom: 2px; }
.gsgr-switcher a.gsgr-switcher__signin { color: var(--g-accent-deep); font-weight: 600; }
@media (max-width: 781px) {
	.gsgr-switcher__label { display: none; }
	.gsgr-switcher__phone { display: none; }
}
.gsgr-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--g-ink) !important; flex: none; }
.gsgr-brand__img { display: block; max-height: 52px; width: auto; }
.gsgr-brand__name { display: flex; flex-direction: column; line-height: 1; }
.gsgr-brand__word { font-family: var(--g-display); font-weight: 800; font-size: 19px; letter-spacing: .28em; }
.gsgr-brand__sub { font-size: 10px; letter-spacing: .42em; color: var(--g-muted); margin-top: 5px; }
.gsgr-brand__grid { display: grid; grid-template-columns: repeat(2, 15px); gap: 3px; }
.gsgr-brand__grid span { height: 15px; border-radius: 5px; background: var(--gsgr-c, var(--g-line2)); }
.gsgr-look-mosaic .gsgr-brand__word { font-size: 28px; letter-spacing: -.04em; }
.gsgr-look-mosaic .gsgr-brand__word.is-tail { color: var(--g-muted); margin-left: -6px; }
.gsgr-look-parallel .gsgr-brand .gsgr-monogram { width: 28px; height: 28px; }
.gsgr-look-parallel .gsgr-brand__name { flex-direction: row; align-items: baseline; gap: 10px; }
.gsgr-look-parallel .gsgr-brand__word { font-size: 15px; letter-spacing: .26em; }
.gsgr-look-parallel .gsgr-brand__sub { font-size: 11px; letter-spacing: .3em; margin: 0; }
.gsgr-brand.is-footer { color: var(--g-on-deep) !important; }
.gsgr-brand.is-footer .gsgr-brand__sub { color: var(--g-muted-deep); }
.gsgr-brand__word.is-tail { margin-left: 4px; }

/* Business page header */
.gsgr-dhead { background: var(--g-paper); border-bottom: 1px solid var(--g-line); position: relative; }
.gsgr-dhead__row { display: flex; align-items: center; justify-content: space-between; min-height: 84px; gap: 24px; }
.gsgr-dhead__actions { display: flex; align-items: center; gap: 10px; flex: none; }
.gsgr-dhead__cta { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: var(--gsgr-btn); background: var(--g-ink); color: var(--g-paper) !important; font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; }
.gsgr-dhead.is-brand { background: var(--g-surface); }
.gsgr-dhead.is-brand .gsgr-dhead__cta { background: var(--gsgr-c-deep); color: #fff !important; border-radius: var(--gsgr-radius, var(--gsgr-btn)); }
.gsgr-dhead__logo { text-decoration: none; }
.gsgr-dnav { display: flex; align-items: center; }
.gsgr-dnav__list { display: flex; gap: 6px 30px; margin: 0; padding: 0; list-style: none; font-size: 14px; font-weight: 600; flex-wrap: wrap; }
.gsgr-dnav__list a { text-decoration: none; color: var(--g-ink); }
.gsgr-dnav__list a:hover { color: var(--gsgr-c-text, var(--g-accent)); }
.gsgr-dnav__toggle, .gsgr-dnav__mobile-cta { display: none; }
.gsgr-gbar { background: var(--g-deep); color: var(--g-on-deep); font-size: 12.5px; }
.gsgr-gbar__row { display: flex; justify-content: space-between; align-items: center; min-height: 40px; gap: 10px 24px; flex-wrap: wrap; padding-block: 6px; }
.gsgr-gbar__group { display: inline-flex; align-items: center; gap: 10px; color: var(--g-on-deep) !important; text-decoration: none; }
.gsgr-gbar__group .gsgr-monogram { width: 18px; height: 18px; }
.gsgr-gbar__pills { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.gsgr-gbar__label { color: var(--g-muted-deep); margin-right: 6px; }
.gsgr-gbar__pills a { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--g-on-deep) 40%, var(--g-deep)); color: var(--g-on-deep) !important; text-decoration: none; font-weight: 600; }
.gsgr-gbar__pills a.is-current { background: var(--gsgr-c-bright); border-color: var(--gsgr-c-bright); color: var(--g-deep) !important; }
@media (max-width: 1000px) {
	.gsgr-dnav__toggle { display: inline-flex; position: relative; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--g-line) linear-gradient(currentColor, currentColor) center / 18px 2px no-repeat; color: var(--g-ink); cursor: pointer; z-index: 6; }
	.gsgr-dnav__toggle::before, .gsgr-dnav__toggle::after { content: ""; position: absolute; left: 13px; top: 21px; width: 18px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .26s ease; }
	.gsgr-dnav__toggle::before { transform: translateY(-6px); }
	.gsgr-dnav__toggle::after { transform: translateY(6px); }
	.gsgr-dnav__toggle[aria-expanded="true"] { background-size: 0 2px; }
	.gsgr-dnav__toggle[aria-expanded="true"]::before { transform: rotate(45deg); }
	.gsgr-dnav__toggle[aria-expanded="true"]::after { transform: rotate(-45deg); }
	.gsgr-dnav { order: 3; }
	.gsgr-dnav__panel { position: fixed; inset: 0; z-index: 5; background: var(--g-paper); padding: calc(var(--gsgr-dnav-top, 96px) + 24px) var(--gsgr-gutter) 48px; overflow-y: auto; visibility: hidden; opacity: 0; transition: opacity .22s ease, visibility 0s .22s; }
	.gsgr-dnav.is-open .gsgr-dnav__panel { visibility: visible; opacity: 1; transition: opacity .22s ease; }
	.gsgr-dnav__list { flex-direction: column; gap: 0; max-width: 72rem; margin: 0 auto; }
	.gsgr-dnav__list li { border-top: 1px solid var(--g-line); }
	.gsgr-dnav__list a { display: flex; align-items: center; min-height: 56px; font-family: var(--gsgr-font, var(--g-display)); font-size: clamp(1.4rem, 1.2rem + 1vw, 1.65rem); font-weight: 800; letter-spacing: -.02em; }
	.gsgr-dnav.is-open .gsgr-dnav__list li { animation: gsgr-menu-item .3s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(40ms + var(--gsgr-i, 0) * 22ms); }
	.gsgr-dnav__mobile-cta { display: block; border-top: 0 !important; margin-top: 20px; }
	.gsgr-dnav__mobile-cta .gsgr-dhead__cta { font-family: var(--g-body); font-size: 1.0625rem !important; letter-spacing: 0; min-height: 52px; padding: 0 28px; }
	.gsgr-dhead__actions > .gsgr-dhead__cta { display: none; }
	body.gsgr-menu-open { overflow: hidden; }
}
@media (max-width: 1000px) and (prefers-reduced-motion: reduce) {
	.gsgr-dnav__panel, .gsgr-dnav.is-open .gsgr-dnav__panel, .gsgr-dnav__toggle::before, .gsgr-dnav__toggle::after { transition: none; }
	.gsgr-dnav.is-open .gsgr-dnav__list li { animation: none; }
}
@keyframes gsgr-menu-item { from { opacity: 0; transform: translateY(-.5rem); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
	.gsgr-gbar__label { display: none; }
	.gsgr-dhead__row { min-height: 70px; }
	.gsgr-logo { font-size: 19px; }
	.gsgr-logo .gsgr-mark { width: 34px; height: 34px; }
}

/* Business page hero */
.gsgr-division-hero { padding: 28px 0 0; }
.gsgr-crumbs { font-size: 13px; color: var(--g-muted); margin-bottom: 40px; }
.gsgr-crumbs a { color: var(--g-muted); }
.gsgr-crumbs strong { color: var(--g-ink); }
.gsgr-dhero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: end; margin-bottom: 40px; }
.gsgr-dhero__text { display: flex; flex-direction: column; gap: 24px; padding-bottom: 12px; }
.gsgr-dhero__title { margin: 0; font-family: var(--g-display); font-weight: 900; font-size: clamp(3rem, 1.4rem + 4.4vw, 5.75rem); line-height: .95; letter-spacing: -.035em; color: var(--g-ink); }
.gsgr-dhero__title .gsgr-it { font-size: 1.09em; color: var(--g-accent); }
.gsgr-dhero__img { height: 500px; border-radius: 12px; }
.gsgr-look-mosaic .gsgr-dhero__img { border-radius: var(--gsgr-tile); }
.gsgr-division-hero .gsgr-proof__grid { margin-bottom: 0; }
.gsgr-division-hero.is-brand { background: var(--gsgr-c-tint); padding: 64px 0; }
.gsgr-bhero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.gsgr-bhero__text { display: flex; flex-direction: column; gap: 22px; }
.gsgr-division-hero.is-brand .gsgr-eyebrow { color: var(--gsgr-c-ink); }
.gsgr-bhero__title { margin: 0; font: var(--gsgr-weight, 600) clamp(2.75rem, 1.4rem + 3.6vw, 4.5rem)/1.02 var(--gsgr-font, var(--g-display)); color: var(--gsgr-c-ink); letter-spacing: -.01em; }
.gsgr-bhero__media { position: relative; }
.gsgr-bhero__img { height: 470px; border-radius: var(--gsgr-radius, 4px); }
.gsgr-bhero__card { position: absolute; left: -24px; bottom: 28px; display: flex; gap: 28px; background: var(--gsgr-c-deep); color: #fff; border-radius: var(--gsgr-radius, 4px); padding: 16px 20px; }
.gsgr-bhero__card > span { display: flex; flex-direction: column; }
.gsgr-bhero__card strong { font: 700 28px/1.1 var(--gsgr-font, var(--g-display)); }
.gsgr-bhero__card span span { font-size: 12.5px; }
.gsgr-hsearch { display: flex; align-items: center; gap: 8px; background: #fff; border-radius: 8px; padding: 8px; box-shadow: 0 20px 40px -28px rgba(0, 0, 0, .4); max-width: 560px; flex-wrap: wrap; }
.gsgr-hsearch input[name="q"] { flex: 1; min-width: 160px; border: 0; padding: 0 10px; min-height: 44px; font: 400 15px var(--g-body); color: #15171a; }
.gsgr-hsearch__seg { display: flex; background: #f1f2ee; border-radius: 6px; padding: 3px; }
.gsgr-hsearch__opt { position: relative; }
.gsgr-hsearch__opt input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.gsgr-hsearch__opt span { display: inline-flex; min-height: 34px; align-items: center; padding: 0 12px; border-radius: 4px; font-size: 13px; font-weight: 700; color: #3e4248; }
.gsgr-hsearch__opt input:checked + span { background: var(--gsgr-c-deep); color: #fff; }
.gsgr-hsearch button { min-height: 46px; padding: 0 24px; border: 0; border-radius: var(--gsgr-radius, 4px); background: var(--gsgr-c-deep); color: #fff; font: 700 15px var(--g-body); cursor: pointer; }
@media (max-width: 900px) {
	.gsgr-dhero, .gsgr-bhero { grid-template-columns: minmax(0, 1fr); }
	.gsgr-dhero__img { height: 360px; }
	.gsgr-bhero__img { height: 340px; }
	.gsgr-bhero__card { left: 12px; }
}
@media (max-width: 480px) {
	.gsgr-hsearch button { width: 100%; }
}

/* Footers -------------------------------------------------------------- */
.gsgr-footer { color: var(--g-on-deep); }
.gsgr-footer a { color: var(--g-on-deep); text-decoration: none; }
.gsgr-footer a:hover { text-decoration: underline; }
.gsgr-footer__muted { color: var(--g-muted-deep); margin: 0; font-size: 14.5px; line-height: 1.6; }
.gsgr-footer__cols { display: flex; flex-wrap: wrap; gap: 36px 48px; }
.gsgr-footer__cols > * { flex: 1 1 160px; min-width: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.gsgr-footer__cols > :first-child { flex: 1.4 1 260px; }
.gsgr-footer__title { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--g-accent-deep) !important; font-weight: 700; }
.gsgr-footer__lead { gap: 18px !important; }
.gsgr-footer__lead .gsgr-footer__muted { max-width: 26em; }
.gsgr-footer__cta { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 8px; background: var(--g-on-deep); color: var(--g-deep) !important; font-weight: 700; }
.gsgr-footer__cta:hover { text-decoration: none !important; }
.gsgr-footer.is-mosaic .gsgr-footer__title { display: flex; align-items: center; gap: 8px; text-transform: none; letter-spacing: 0; font-size: 15px; color: var(--g-on-deep) !important; }
.gsgr-footer.is-mosaic .gsgr-footer__col a:not(.gsgr-footer__title) { color: var(--g-muted-deep); }
.gsgr-footer__sq { width: 12px; height: 12px; border-radius: 4px; background: var(--gsgr-c-bright); }
.gsgr-footer__company { gap: 14px !important; color: var(--g-muted-deep); font-size: 14.5px; line-height: 1.6; }
.gsgr-footer__company strong { color: var(--g-on-deep); font-size: 15px; }
.gsgr-footer__company span, .gsgr-footer__company a { color: var(--g-muted-deep); }
.gsgr-footer__word { font-family: var(--g-display); font-weight: 800; font-size: min(296px, 20.5vw); letter-spacing: -.035em; line-height: .86; color: var(--g-on-deep); margin: 48px 0 0 -0.04em; white-space: nowrap; overflow: hidden; }
.gsgr-footer.is-parallel .gsgr-footer__group { flex: 1.2 1 280px; gap: 14px; }
.gsgr-footer.is-parallel .gsgr-brand__word { font-size: 15px; letter-spacing: .26em; }
.gsgr-footer__inline { display: flex; gap: 18px; flex-wrap: wrap; }
.gsgr-fcard { background: var(--gsgr-c-deep); border-radius: 14px; padding: 22px; gap: 12px !important; }
.gsgr-fcard__name { display: flex; align-items: center; gap: 10px; font: var(--gsgr-weight, 700) 20px var(--gsgr-font, var(--g-display)); }
.gsgr-fcard .gsgr-mark { width: 30px; height: 30px; }
.gsgr-fcard__text, .gsgr-fcard__note { font-size: 14px; line-height: 1.6; color: color-mix(in srgb, #fff 86%, var(--gsgr-c-deep)); }
.gsgr-fcard__note { font-size: 12.5px; }
.gsgr-dfoot__word { font-family: var(--g-display); font-weight: 800; font-size: 18px; letter-spacing: .28em; }
.gsgr-dfoot__word span { color: var(--g-accent-deep); letter-spacing: .2em; font-size: 13px; }
.gsgr-division-footer { background: var(--g-deep); color: var(--g-on-deep); padding: 64px 0 30px; font-family: var(--g-body); }
.gsgr-division-footer a { color: var(--g-on-deep); }
.gsgr-dfoot__bar { display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; font-size: 12.5px; color: var(--g-muted-deep); border-top: 1px solid color-mix(in srgb, var(--g-on-deep) 18%, var(--g-deep)); padding-top: 22px; margin-top: 44px; }
.gsgr-dfoot__legal { display: flex; gap: 8px 18px; flex-wrap: wrap; align-items: center; }
.gsgr-dfoot__legal .wp-block-group, .gsgr-dfoot__legal p { margin: 0; display: flex; gap: 18px; flex-wrap: wrap; }
.gsgr-division-footer.is-brand { padding: 0 0 30px; }
.gsgr-dfoot__band { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; background: var(--gsgr-c-deep); color: #fff; padding-block: 26px; max-width: none; padding-inline: max(var(--gsgr-gutter), calc((100vw - var(--gsgr-wrap)) / 2)); font-size: 14px; }
.gsgr-dfoot__brand strong { font: var(--gsgr-weight, 700) 20px var(--gsgr-font, var(--g-display)); margin-right: 12px; }
.gsgr-dfoot__band a { color: #fff; text-decoration: underline; }
.gsgr-division-footer.is-brand .gsgr-dfoot__bar { margin-top: 26px; border-top: 0; padding-top: 0; }
.gsgr-company { margin: 0; font-size: 12.5px; color: var(--g-muted-deep); line-height: 1.6; }
.gsgr-credit { color: var(--g-muted-deep); }
@media (max-width: 1100px) {
	.gsgr-footer.is-mosaic .gsgr-footer__cols > * { flex-basis: 140px; }
}
@media (max-width: 781px) {
	.gsgr-footer__cols > *, .gsgr-footer__cols > :first-child { flex: 1 1 calc(50% - 24px); }
}
@media (max-width: 480px) {
	.gsgr-footer__cols > *, .gsgr-footer__cols > :first-child { flex: 1 1 100%; }
}

/* Listing page --------------------------------------------------------- */
.gsgr-listing-detail { padding-top: 28px; }
.gsgr-ldetail { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.gsgr-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gsgr-gallery__item { display: block; border-radius: 8px; overflow: hidden; aspect-ratio: 4 / 3; }
.gsgr-gallery__item.is-main { grid-column: 1 / -1; aspect-ratio: 16 / 10; border-radius: var(--gsgr-card); }
.gsgr-look-charter .gsgr-gallery img { filter: grayscale(1) contrast(1.06); transition: filter .3s; }
.gsgr-look-charter .gsgr-gallery a:hover img { filter: none; }
.gsgr-ldetail__side { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 24px; }
.gsgr-ldetail__pills { display: flex; gap: 6px; flex-wrap: wrap; }
.gsgr-ldetail__title { margin: 0; font-family: var(--gsgr-font, var(--g-display)); font-weight: 800; font-size: clamp(2rem, 1.4rem + 1.6vw, 3rem); line-height: 1.02; letter-spacing: -.02em; }
.gsgr-ldetail__where { margin: 0; color: var(--g-muted); }
.gsgr-ldetail__price { margin: 0; font-family: var(--g-display); font-size: 30px; font-weight: 800; display: flex; flex-direction: column; }
.gsgr-ldetail__price span { font: 400 14px var(--g-body); color: var(--g-muted); }
.gsgr-ldetail__spec { margin: 0; font-size: 16px; font-weight: 600; }
.gsgr-ldetail__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--g-line); border: 1px solid var(--g-line); border-radius: 10px; overflow: hidden; margin: 0; }
.gsgr-ldetail__facts div { background: var(--g-surface); padding: 12px 14px; }
.gsgr-ldetail__facts dt { font-size: 12px; color: var(--g-muted); }
.gsgr-ldetail__facts dd { margin: 0; font-weight: 700; }
.gsgr-ldetail__with { margin: 0; font-size: 14px; color: var(--g-muted); }
.gsgr-ldetail__body { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); margin-top: 48px; }
.gsgr-ldetail__desc { font-size: 17px; line-height: 1.7; }
.gsgr-ticks { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.gsgr-ticks li { display: flex; gap: 8px; font-size: 15px; }
.gsgr-ticks li::before { content: "✓"; font-weight: 800; color: var(--gsgr-c-text, var(--g-accent)); }
.gsgr-ldetail__docs { background: var(--g-surface); border: 1px solid var(--g-line); border-radius: var(--gsgr-card); padding: 20px; align-self: start; }
.gsgr-plain { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.gsgr-plain li { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
@media (max-width: 900px) {
	.gsgr-ldetail, .gsgr-ldetail__body { grid-template-columns: minmax(0, 1fr); }
	.gsgr-ldetail__side { position: static; }
}
@media (max-width: 480px) {
	.gsgr-ticks { grid-template-columns: minmax(0, 1fr); }
	.gsgr-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Person page */
.gsgr-person-details { display: flex; flex-direction: column; gap: 12px; margin: 8px 0 24px; }
.gsgr-person-details__role { margin: 0; font-size: 18px; color: var(--g-muted); }
.gsgr-person-details__tags { display: flex; gap: 6px; flex-wrap: wrap; }
.gsgr-person-details__tags a { text-decoration: none; }
.gsgr-person-details__reach { margin: 0; }

/* Credits */
.gsgr-credits__list { margin: 24px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.gsgr-credit-item { display: flex; gap: 14px; align-items: center; }
.gsgr-credit-item__img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; flex: none; }
.gsgr-credit-item > span { display: flex; flex-direction: column; gap: 2px; font-size: 14px; }

/* The client area ------------------------------------------------------ */
.gsgr-account { max-width: calc(1100px + 2 * var(--gsgr-gutter)); margin: 0 auto; padding: 0 var(--gsgr-gutter) 40px; }
.gsgr-acc__card { max-width: 520px; margin: 40px auto; background: var(--g-surface); border: 1px solid var(--g-line); border-radius: var(--gsgr-card); padding: 36px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 30px 60px -48px rgba(0, 0, 0, .45); }
.gsgr-acc__h { margin: 0; font-family: var(--g-display); font-weight: 800; font-size: clamp(1.75rem, 1.3rem + 1.2vw, 2.4rem); letter-spacing: -.02em; line-height: 1.05; }
.gsgr-acc__form { display: flex; flex-direction: column; gap: 14px; }
.gsgr-acc__form .gsgr-btn { align-self: flex-start; }
.gsgr-acc__lost { font-size: 14px; }
.gsgr-acc__or { display: flex; align-items: center; gap: 12px; color: var(--g-muted); font-size: 13px; }
.gsgr-acc__or::before, .gsgr-acc__or::after { content: ""; flex: 1; height: 1px; background: var(--g-line); }
.gsgr-check { display: inline-flex; gap: 8px; align-items: center; font-size: 14px; }
.gsgr-acc__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; padding: 24px 0; border-bottom: 1px solid var(--g-line); }
.gsgr-acc__head p { margin: 6px 0 0; }
.gsgr-acc__nav { position: sticky; top: 0; z-index: 3; display: flex; gap: 4px; overflow-x: auto; padding: 12px 0; background: var(--g-paper); scrollbar-width: thin; }
.gsgr-acc__nav a { flex: none; display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 14px; color: var(--g-ink); border: 1px solid var(--g-line2); background: var(--g-surface); }
.gsgr-acc__nav a[aria-current="true"] { background: var(--g-ink); color: var(--g-paper); border-color: var(--g-ink); }
.gsgr-acc__section { padding: 28px 0; border-bottom: 1px solid var(--g-line); scroll-margin-top: 70px; }
.gsgr-acc__section[hidden] { display: none; }
.gsgr-acc__h2 { margin: 0 0 18px; font-family: var(--g-display); font-size: 24px; font-weight: 800; letter-spacing: -.01em; }
.gsgr-acc__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.gsgr-acc__stat { background: var(--g-surface); border: 1px solid var(--g-line); border-radius: var(--gsgr-card); padding: 18px; display: flex; flex-direction: column; gap: 4px; text-decoration: none; color: var(--g-ink); }
.gsgr-acc__stat strong { font-family: var(--g-display); font-size: 30px; font-weight: 800; }
.gsgr-acc__stat span { font-size: 13.5px; color: var(--g-muted); }
.gsgr-acc__orders { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.gsgr-acc__order { background: var(--g-surface); border: 1px solid var(--g-line); border-left: 4px solid var(--gsgr-c, var(--g-ink)); border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.gsgr-acc__order-top { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; align-items: center; font-size: 14px; }
.gsgr-acc__stage { margin: 0; font-size: 14px; font-weight: 600; color: var(--gsgr-c-text, var(--g-accent)); }
.gsgr-acc__lines, .gsgr-acc__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.gsgr-acc__lines li, .gsgr-acc__list li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--g-line); font-size: 14px; flex-wrap: wrap; }
.gsgr-acc__list.is-docs li { justify-content: flex-start; flex-direction: column; gap: 2px; }
.gsgr-acc__total { margin: 0; font-size: 15px; }
.gsgr-acc__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.gsgr-inline { display: inline-flex; margin: 0; }
.gsgr-acc__small { font-size: 13px; margin-top: 14px; }
.gsgr-acc__table { overflow-x: auto; }
.gsgr-acc__table table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 520px; }
.gsgr-acc__table th, .gsgr-acc__table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--g-line); vertical-align: top; }
.gsgr-acc__table th { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--g-muted); }
.gsgr-acc__sites { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.gsgr-acc__site { background: var(--g-surface); border: 1px solid var(--g-line); border-radius: 12px; padding: 18px; }
.gsgr-acc__site h3 { margin: 0; font-family: var(--g-display); font-size: 18px; }
.gsgr-acc__site > p { margin: 4px 0 10px; font-size: 13.5px; }
.gsgr-acc__machines { margin: 0; padding: 0; list-style: none; }
.gsgr-acc__machines li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 10px 0; border-top: 1px solid var(--g-line); font-size: 14px; align-items: center; }
.gsgr-acc__machines li > span:first-child { display: flex; flex-direction: column; }
.gsgr-acc__machines li > .gsgr-muted { grid-column: 1; font-size: 13px; }
.gsgr-acc__machines .gsgr-pill-s { grid-column: 2; grid-row: 1; }
.gsgr-acc__thread { background: var(--g-surface); border: 1px solid var(--g-line); border-radius: 12px; padding: 14px 16px; margin-bottom: 10px; }
.gsgr-acc__thread > summary { display: flex; justify-content: space-between; gap: 12px; cursor: pointer; align-items: center; }
.gsgr-acc__thread > summary > span:first-child { display: flex; flex-direction: column; gap: 2px; }
.gsgr-acc__notes { margin: 14px 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.gsgr-acc__notes li { padding: 10px 12px; border-radius: 10px; background: var(--g-paper); font-size: 14px; max-width: 86%; }
.gsgr-acc__notes li.is-us { align-self: flex-end; background: color-mix(in srgb, var(--g-accent) 10%, var(--g-surface)); }
.gsgr-acc__notes p { margin: 4px 0 0; }
@media (max-width: 600px) {
	.gsgr-acc__card { padding: 24px; margin: 20px auto; }
	.gsgr-acc__orders, .gsgr-acc__sites { grid-template-columns: minmax(0, 1fr); }
}

/* The closed booking form when Core is too old */
.gsgr-contact.is-closed { padding: 24px; }
.gsgr-look-charter .gsgr-listing__img, .gsgr-look-charter .gsgr-item__img, .gsgr-look-charter .gsgr-ncol__img, .gsgr-look-charter .gsgr-person__img, .gsgr-look-charter .gsgr-also__img, .gsgr-look-charter .gsgr-csec__img { filter: grayscale(1) contrast(1.06); }

/* Split hero with three or four businesses: the hovered one widens, the others show their name and button. */
.gsgr-split__title .gsgr-hl { color: inherit; }
@media (min-width: 901px) {
	.gsgr-split:not(.is-n2) .gsgr-split__half.is-wide { flex: 1.8; }
	.gsgr-split:not(.is-n2) .gsgr-split__chip, .gsgr-split:not(.is-n2) .gsgr-split__half.is-right .gsgr-split__chip { left: 20px; right: auto; top: 20px; font-size: 15px; }
	.gsgr-split:not(.is-n2) .gsgr-split__panel, .gsgr-split:not(.is-n2) .gsgr-split__half.is-right .gsgr-split__panel { left: 20px; right: 20px; bottom: 20px; width: auto; padding: 24px; }
	.gsgr-split:not(.is-n2) .gsgr-split__half:not(.is-wide) .gsgr-split__copy { display: none; }
	.gsgr-split:not(.is-n2) .gsgr-split__half:not(.is-wide) .gsgr-split__title { font-size: clamp(1.4rem, .9rem + 1vw, 1.9rem); }
	.gsgr-split:not(.is-n2) .gsgr-split__title { font-size: clamp(1.9rem, 1rem + 1.8vw, 2.75rem); }
}
