/* Paid service pages (disposal, vinyl flooring, painting), the "Other services
   from Imran" index on /services/, an editorial refresh for the blog and
   projects pages, and the navigation-bar face. Scoped to .gs-*, .glass-editorial
   and #root nav.fixed; the existing React pages and the glass sub-pages are
   otherwise untouched. Theme: Newsreader headings; body text in the same
   "Inter, sans-serif" the React layout renders for every existing paragraph;
   cream surfaces, bark ink, WhatsApp green actions. Layout cues (pill
   breadcrumb, large tight headline, meta row, big rounded image cards,
   borderless numbered text cards, generous spacing, dark closing card) follow
   the site owner's reference direction in our own palette. */

/* ---------- Type: two faces site-wide ----------
   The site owner's rule: Newsreader for headings and display text, Uxum
   Grotesque (self-hosted, one weight) for everything else, on every page that
   loads this stylesheet. The Tailwind wrapper's Inter and the editorial Arial
   are overridden here; theme.css keeps headings and display spans in Newsreader
   with its own !important rules, which the :not() list leaves alone. */
@font-face { font-family: 'Uxum Grotesque'; src: url('/assets/fonts/UxumGrotesque-Regular.woff') format('woff'); font-weight: 400; font-style: normal; font-display: swap; }
html, body,
body *:not(h1, h2, h3, h4, h5, h6, i, code, pre, kbd, .gs-eyebrow, .gs-other-kicker, .ge-label,
  [class~="text-3xl"], [class~="text-4xl"], [class~="text-5xl"], [class~="text-6xl"], [class~="text-7xl"],
  [class~="md:text-3xl"], [class~="md:text-4xl"], [class~="md:text-5xl"], [class~="md:text-6xl"], [class~="md:text-7xl"],
  [class~="italic"]) {
  font-family: 'Uxum Grotesque', Inter, sans-serif !important;
  font-synthesis: none;
}
.gs-page, .gs-other { color: var(--gx-ink, #331419); font-family: 'Uxum Grotesque', Inter, sans-serif; }
.gs-page h1, .gs-page h2, .gs-page h3, .gs-other h2, .gs-other h3 { font-family: var(--gx-serif, 'Newsreader', Georgia, serif); }
/* Inline children of headings keep the heading face (outranks the body rules above). */
.gs-page h1 a, .gs-page h1 span, .gs-page h1 strong, .gs-page h2 a, .gs-page h2 span, .gs-page h2 strong,
.gs-page h3 a, .gs-page h3 span, .gs-page h3 strong,
.gs-other h2 a, .gs-other h2 span, .gs-other h2 strong, .gs-other h3 a, .gs-other h3 span, .gs-other h3 strong { font-family: inherit; }
.gs-page *, .gs-other * { box-sizing: border-box; }
.gs-page { max-width: 1160px; margin: 0 auto; padding: 132px 48px 80px; }

/* ---------- Breadcrumb: pill links, plain current item ---------- */
.gs-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 28px; padding: 0; list-style: none; font-size: 14px; color: #75676a; }
.gs-crumbs li { display: flex; align-items: center; gap: 10px; }
.gs-crumbs li + li::before { content: "/"; color: #c4bbbd; }
.gs-crumbs a { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 14px; border-radius: 999px; background: #f5f1ea; color: #331419; font-weight: 500; text-decoration: none; }
.gs-crumbs a:hover { background: #ece6dc; }

/* ---------- First screen ---------- */
.gs-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 56px; align-items: start; }
.gs-page .gs-eyebrow, .gs-other-kicker {
  margin: 0 0 16px; font-family: var(--gx-serif, 'Newsreader', Georgia, serif); font-style: italic;
  font-size: 21px; font-weight: 400; line-height: 1.3; letter-spacing: 0; text-transform: none; color: #75676a;
}
.gs-page h1 { margin: 0 0 20px; font-size: clamp(36px, 4vw, 54px); font-weight: 400; line-height: 1.04; letter-spacing: -.03em; color: #331419; }
.gs-lead { margin: 0; max-width: 520px; font-size: 18px; line-height: 1.6; color: #5d454a; }
.gs-hero--text { grid-template-columns: minmax(0, 1fr); }
.gs-hero--text .gs-lead { max-width: 640px; }
.gs-facts { display: grid; gap: 0; margin: 28px 0 0; padding: 0; }
.gs-facts > div { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.7fr); gap: 12px 32px; padding: 18px 0; border-top: 1px solid #e9e2d8; }
.gs-facts > div:last-child { border-bottom: 1px solid #e9e2d8; }
.gs-facts dt { margin: 0; font-size: 14px; color: #75676a; }
.gs-facts dd { margin: 0; font-size: 17px; line-height: 1.6; color: #4a3338; }
.gs-facts dd a { color: #331419; text-decoration: underline; text-underline-offset: 3px; }
.gs-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 30px; }
.gs-page .gs-cta, .gs-other .gs-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; max-width: 100%; padding: 15px 24px; border: 1px solid transparent; border-radius: 999px;
  background: #087f53; color: #fff; text-decoration: none; font-size: 15px; line-height: 1.4; font-weight: 600;
  transition: background-color .16s ease;
}
.gs-cta i { font-size: 22px; line-height: 1; flex: 0 0 auto; }
.gs-page .gs-cta:hover, .gs-other .gs-cta:hover { background: #056640; }
.gs-link { color: #331419; font-size: 15px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: #d4a813; }
.gs-link:hover { text-decoration-color: #331419; }
.gs-note { margin: 14px 0 0; max-width: 520px; font-size: 14px; line-height: 1.6; color: #75676a; }
.gs-hero-figure { margin: 0; min-width: 0; }
.gs-hero-figure img { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 28px; background: #e9e2d8; }
.gs-hero-figure figcaption { margin-top: 12px; font-size: 13px; line-height: 1.5; color: #75676a; }

/* ---------- Jump links ---------- */
.gs-jump { margin: 44px 0 0; padding: 16px 0; border-top: 1px solid #e9e2d8; border-bottom: 1px solid #e9e2d8; }
.gs-jump ul { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.gs-jump a { display: inline-block; padding: 7px 14px; border-radius: 999px; background: #f5f1ea; color: #331419; font-weight: 500; text-decoration: none; }
.gs-jump a:hover { background: #ece6dc; }

/* ---------- Sections ---------- */
.gs-section { padding-top: 72px; scroll-margin-top: 124px; }
.gs-section h2, .gs-final h2 { margin: 0 0 16px; font-size: clamp(32px, 3.4vw, 44px); font-weight: 400; line-height: 1.1; letter-spacing: -.025em; color: #331419; }
.gs-section > p { max-width: 720px; margin: 0 0 20px; font-size: 18px; line-height: 1.7; color: #5d454a; }
.gs-section h3, .gs-h3 { margin: 0 0 10px; font-size: 25px; line-height: 1.2; font-weight: 400; letter-spacing: -.015em; color: #331419; }

/* Borderless numbered text cards */
.gs-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 40px; margin-top: 36px; counter-reset: gs-card; }
.gs-card { counter-increment: gs-card; padding: 0; background: transparent; border-radius: 0; }
.gs-card::before { content: "0" counter(gs-card); display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-bottom: 18px; border-radius: 12px; background: #f5f1ea; font-size: 12px; letter-spacing: .06em; color: #331419; font-family: 'Uxum Grotesque', Inter, sans-serif; }
.gs-card p { margin: 0; font-size: 16px; line-height: 1.65; color: #5d454a; }

.gs-check { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px 48px; margin-top: 36px; }
.gs-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.gs-list li { position: relative; padding-left: 20px; font-size: 17px; line-height: 1.6; color: #4a3338; }
.gs-list li::before { content: ""; position: absolute; left: 2px; top: calc(.8em - 3px); width: 6px; height: 6px; border-radius: 50%; background: #087f53; }
.gs-list--two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 40px; margin-top: 28px; }
.gs-list strong { color: #331419; }

.gs-compare { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 40px; margin-top: 36px; }
.gs-compare > div { padding: 22px 0 0; border-top: 1px solid #e9e2d8; border-radius: 0; background: transparent; }
.gs-compare h3 { font-size: 23px; }
.gs-compare ul { margin: 0; padding-left: 18px; font-size: 16px; line-height: 1.6; color: #5d454a; }
.gs-compare li { margin: 8px 0; }

.gs-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 40px; margin-top: 36px; counter-reset: gs-step; }
.gs-step { counter-increment: gs-step; padding: 0; border: 0; border-radius: 0; background: transparent; }
.gs-step::before { content: "0" counter(gs-step); display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-bottom: 18px; border-radius: 12px; background: #087f53; color: #fff; font-size: 12px; letter-spacing: .06em; font-family: 'Uxum Grotesque', Inter, sans-serif; }
.gs-step h3 { font-size: 24px; margin-bottom: 8px; }
.gs-step p { margin: 0; font-size: 16px; line-height: 1.65; color: #5d454a; }
.gs-source { margin: 22px 0 0; max-width: 720px; font-size: 14px; line-height: 1.6; color: #75676a; }
.gs-source a, .gs-section p a, .gs-faq p a, .gs-card p a { color: #331419; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Photos ---------- */
.gs-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 32px 0 0; padding: 0; list-style: none; }
.gs-gallery figure { margin: 0; min-width: 0; }
.gs-gallery a { display: block; overflow: hidden; border-radius: 20px; background: #e9e2d8; }
.gs-gallery img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.gs-gallery a:hover img { opacity: .93; }
.gs-gallery figcaption { margin-top: 10px; font-size: 14px; line-height: 1.5; color: #75676a; }
.gs-more { margin-top: 24px; text-align: center; }
.gs-more summary {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0 auto; padding: 11px 24px;
  cursor: pointer; list-style: none; border: 1px solid #331419; border-radius: 999px; background: #fff;
  font-size: 14px; line-height: 1.4; font-weight: 600; color: #331419; transition: background-color .16s ease, color .16s ease;
}
.gs-more summary::-webkit-details-marker { display: none; }
.gs-more summary:hover { background: #331419; color: #fff; }
.gs-more-less { display: none; }
.gs-more[open] .gs-more-less { display: inline; }
.gs-more[open] .gs-more-show { display: none; }
.gs-more .gs-gallery { margin-top: 22px; text-align: left; }
.gs-photo-note { margin: 20px 0 0; max-width: 720px; font-size: 14px; line-height: 1.6; color: #75676a; }

/* ---------- Straight answers ---------- */
.gs-faq details { padding: 20px 0; border-bottom: 1px solid #e9e2d8; }
.gs-faq details:first-of-type { border-top: 1px solid #e9e2d8; margin-top: 28px; }
.gs-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; cursor: pointer; list-style: none; font-size: 18px; line-height: 1.45; font-weight: 500; color: #331419; }
.gs-faq summary::-webkit-details-marker { display: none; }
.gs-faq summary::after { content: "+"; flex: 0 0 auto; font-size: 20px; line-height: 1; color: #087f53; }
.gs-faq details[open] summary::after { content: "\2212"; }
.gs-faq details p { margin: 12px 0 0; max-width: 760px; font-size: 17px; line-height: 1.65; color: #5d454a; }

/* ---------- Closing card (cream, in the theme) ---------- */
.gs-final { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 36px; align-items: center; margin-top: 80px; padding: 48px; background: #f5f1ea; border: 1px solid #e9e2d8; border-radius: 32px; }
.gs-final > div > p { margin: 0 0 24px; max-width: 520px; font-size: 17px; line-height: 1.65; color: #5d454a; }
.gs-prefill { padding: 24px 26px; background: #fff; border-radius: 20px; }
.gs-prefill p { margin: 0 0 10px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #9d9194; }
.gs-prefill ul { margin: 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.75; color: #4a3338; }
.gs-prefill li::before { content: "\2013"; margin-right: 8px; color: #b8aeb0; }

/* ---------- Related pages ---------- */
.gs-related { margin-top: 48px; padding-top: 28px; border-top: 1px solid #e9e2d8; }
.gs-related h2 { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #9d9194; }
.gs-related ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.gs-related a { display: inline-block; padding: 10px 16px; border: 1px solid #e9e2d8; border-radius: 999px; background: #fff; color: #331419; font-size: 14px; font-weight: 500; text-decoration: none; }
.gs-related a:hover { border-color: #331419; }

.gs-page a:focus-visible, .gs-page summary:focus-visible, .gs-other a:focus-visible, .gs-other summary:focus-visible { outline: 3px solid #331419; outline-offset: 4px; }

/* ---------- Article extras (the article uses the editorial layout below) ----------
   .gs-article is set only on the new article's root; each of its figure images
   carries an inline aspect-ratio and width so space is reserved before the lazy
   image loads. */
.gs-article .ge-article figure img { display: block; height: auto; max-height: none; margin: 0 auto; }
.ge-article .gs-checklist { margin: 28px 0; padding: 24px 28px; background: #f5f1ea; border-radius: 20px; }
.ge-article .gs-checklist p { margin: 0 0 8px; font-weight: 600; }
.ge-article .gs-checklist ul { margin: 0; }

/* ---------- Editorial refresh (blog index, all articles, projects) ----------
   Additive overrides on the existing .glass-editorial layout: the site body
   face instead of Arial, a pill breadcrumb, larger tighter headings, italic
   serif labels, rounded image cards and borderless index cards. The original
   editorial stylesheet is left untouched. */
.glass-editorial { font-family: 'Uxum Grotesque', Inter, sans-serif; background: #fff; padding-top: 132px; }
.glass-editorial .ge-breadcrumb { align-items: center; gap: 10px; margin-bottom: 30px; font-size: 14px; }
.glass-editorial .ge-breadcrumb a { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 14px; border-radius: 999px; background: #f5f1ea; color: #331419; font-weight: 500; text-decoration: none; }
.glass-editorial .ge-breadcrumb a:hover { background: #ece6dc; color: #331419; }
.glass-editorial .ge-breadcrumb span { color: #c4bbbd; }
.glass-editorial .ge-label { font-family: var(--gx-serif, 'Newsreader', Georgia, serif); font-style: italic; font-size: 19px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #75676a; margin-bottom: 14px; }
.glass-editorial h1 { font-family: var(--gx-serif, 'Newsreader', Georgia, serif); font-size: clamp(40px, 5vw, 66px); line-height: 1.02; letter-spacing: -.03em; color: #331419; }
.glass-editorial .ge-deck { font-size: 20px; line-height: 1.6; color: #5d454a; }
.glass-editorial .ge-byline { font-size: 14px; color: #75676a; }
.glass-editorial .ge-byline a { color: #331419; }
.glass-editorial h2 { font-family: var(--gx-serif, 'Newsreader', Georgia, serif); font-size: 34px; letter-spacing: -.025em; color: #331419; }
.glass-editorial h3 { font-family: var(--gx-serif, 'Newsreader', Georgia, serif); font-size: 23px; font-weight: 400; letter-spacing: -.015em; }
.glass-editorial .ge-article { color: #4a3338; }
.glass-editorial .ge-article figure { border-radius: 24px; background: #f5f1ea; }
.glass-editorial .ge-article .caption { font-size: 14px; }
.glass-editorial .ge-toc { border-left-color: #e9e2d8; font-size: 14px; }
.glass-editorial .ge-toc > p { font-size: 12px; letter-spacing: .06em; color: #9d9194; }
.glass-editorial .ge-toc a { color: #5d454a; }
.glass-editorial .ge-toc a:hover { color: #331419; }
.glass-editorial .ge-article .table-wrap { border-color: #e9e2d8; border-radius: 16px; }
.glass-editorial .ge-article th { background: #f5f1ea; }
.glass-editorial .ge-article th, .glass-editorial .ge-article td { border-bottom-color: #e9e2d8; }
.glass-editorial .ge-return { border-top-color: #e9e2d8; }
.glass-editorial .ge-return a, .glass-editorial .ge-more a { color: #331419; }
.glass-editorial .ge-grid { gap: 32px; }
.glass-editorial .ge-card { border: 0; border-radius: 24px; background: #f5f1ea; transition: none; }
.glass-editorial .ge-card:hover { box-shadow: none; }
.glass-editorial .ge-card:hover h2 { text-decoration: underline; text-underline-offset: 4px; }
.glass-editorial .ge-card > img { height: 300px; object-fit: cover; background: #e9e2d8; }
.glass-editorial .ge-card-copy { padding: 26px 28px 28px; }
.glass-editorial .ge-card .ge-label { font-size: 17px; margin-bottom: 8px; }
.glass-editorial .ge-card h2 { font-size: 27px; margin: 8px 0 12px; line-height: 1.12; }
.glass-editorial .ge-card-copy > p:not(.ge-label) { font-size: 16px; line-height: 1.6; color: #5d454a; }
.glass-editorial .ge-card-copy > span { font-weight: 600; color: #331419; }
.glass-editorial .ge-more { border-top-color: #e9e2d8; }
.glass-editorial .ge-more h2 { font-size: 28px; }
.glass-editorial .ge-feature { border-radius: 28px; background: #f5f1ea; }
.glass-editorial .ge-feature-photo img { border-radius: 20px; }
.glass-editorial .ge-button { background: #2a0e15; border-radius: 999px; padding: 15px 24px; }
.glass-editorial .ge-button:hover { background: #3d1820; }
.glass-editorial .ge-enquiry { border-top-color: #e9e2d8; }
.glass-editorial .ge-static-nav { font-family: 'Uxum Grotesque', Inter, sans-serif; }

/* ---------- "Other services from Imran" on /services/ (editorial index) ---------- */
.gs-other { padding: 0 48px 64px; }
.gs-other-inner { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 56px 72px; max-width: 1360px; margin: 0 auto; padding-top: 48px; border-top: 1px solid #e9e2d8; }
.gs-other-lead { min-width: 0; }
.gs-other h2 { margin: 0 0 18px; font-size: clamp(36px, 3.8vw, 54px); font-weight: 400; line-height: 1.02; letter-spacing: -.03em; color: #331419; }
.gs-other-lead p:last-child { margin: 0; max-width: 460px; font-size: 18px; line-height: 1.65; color: #5d454a; }
.gs-other-list { margin: 0; padding: 0; list-style: none; }
.gs-other-row { display: grid; grid-template-columns: 36px 116px minmax(0, 1fr) 48px; gap: 0 24px; align-items: center; padding: 26px 0; border-top: 1px solid #e9e2d8; scroll-margin-top: 124px; }
.gs-other-row:first-child { padding-top: 0; border-top: 0; }
.gs-other-row:last-child { padding-bottom: 0; }
.gs-other-num { font-size: 12px; letter-spacing: .06em; color: #9d9194; }
.gs-other-thumb { display: block; overflow: hidden; border-radius: 18px; background: #e9e2d8; }
.gs-other-thumb img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.gs-other-thumb:hover img { opacity: .93; }
.gs-other-text { min-width: 0; }
.gs-other-text h3 { margin: 0 0 6px; font-size: 28px; font-weight: 400; line-height: 1.1; letter-spacing: -.02em; }
.gs-other-text h3 a { color: #331419; text-decoration: none; }
.gs-other-text h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.gs-other-text p { margin: 0; max-width: 540px; font-size: 16px; line-height: 1.6; color: #5d454a; }
.gs-other-links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 12px; font-size: 14px; font-weight: 600; }
.gs-other-arrow { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid #331419; border-radius: 999px; color: #331419; text-decoration: none; transition: background-color .16s ease, color .16s ease; }
.gs-other-arrow i { font-size: 20px; line-height: 1; }
.gs-other-arrow:hover { background: #331419; color: #fff; }
/* Compact variant for the home page teaser */
.gs-other--home { padding: 0 48px 24px; }
.gs-other--home .gs-other-inner { padding-top: 56px; padding-bottom: 8px; }
.gs-other--home .gs-other-row { grid-template-columns: 36px 88px minmax(0, 1fr) 48px; padding: 20px 0; }
.gs-other--home .gs-other-text h3 { font-size: 25px; }
.gs-other--home .gs-other-text p { font-size: 15px; }
.gs-other-wa { display: inline-flex; align-items: center; gap: 6px; color: #087f53; text-decoration: none; }
.gs-other-wa i { font-size: 18px; line-height: 1; }
.gs-other-wa:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Navigation bar ---------- */
#root nav.fixed a, #root nav.fixed button, #root nav.fixed span { letter-spacing: .01em; }

/* ---------- Home page: urgent-enquiry section ----------
   The phone/WhatsApp pills sat directly on the top border of the details row,
   and the four-up rows folded to two columns below 1024px. */
#root section > div.mt-10.flex.flex-col { margin-bottom: 40px; }
#root section > div.mt-10.flex.flex-col > a { align-items: center; }
@media (min-width: 768px) {
  #root section > div.grid.grid-cols-1.sm\:grid-cols-2.lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #root section > div.grid.grid-cols-2.lg\:grid-cols-4.border-t { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- Icons: inline SVG masks instead of icon-font glyphs ----------
   Every RemixIcon class the site renders (buttons, header, footer, FAQ, lists)
   becomes a currentColor SVG; the theme's glyph-font mapping is overridden. */
i[class^="ri-"]::before, i[class*=" ri-"]::before { content: ""; display: inline-block; width: 1em; height: 1em; vertical-align: -.125em; background-color: currentColor; -webkit-mask: var(--gs-icon) no-repeat center / contain; mask: var(--gs-icon) no-repeat center / contain; }
i.ri-phone-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.4 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.9.6 2.8.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E"); }
i.ri-whatsapp-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2.5a9.5 9.5 0 0 0-8.2 14.3L2.6 21.5l4.8-1.2A9.5 9.5 0 1 0 12 2.5z%22/%3E%3Cpath d=%22M9.1 7.6c.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.4l.8 2c.1.2.1.4 0 .6l-.3.5-.4.5c-.2.2-.3.4-.1.7.2.3.9 1.4 1.9 2.3 1.3 1.2 2.4 1.5 2.7 1.7.3.2.6.1.8-.1l1-1.2c.2-.3.5-.2.7-.1l2 1c.3.1.5.2.6.3.1.2.1 1-.3 1.9-.4.9-1.9 1.7-2.6 1.7-.7.1-1.5.4-5-1-4.2-1.7-6.9-6-7.1-6.3-.2-.3-1.7-2.3-1.7-4.3 0-2 1.1-3 1.5-3.4z%22 fill=%22black%22 stroke=%22none%22/%3E%3C/svg%3E"); }
i.ri-arrow-right-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 12h14M13 6l6 6-6 6%22/%3E%3C/svg%3E"); }
i.ri-arrow-right-s-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 6l6 6-6 6%22/%3E%3C/svg%3E"); }
i.ri-arrow-left-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M19 12H5M11 18l-6-6 6-6%22/%3E%3C/svg%3E"); }
i.ri-mail-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z%22/%3E%3Cpath d=%22M3 7l9 6 9-6%22/%3E%3C/svg%3E"); }
i.ri-close-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 6L6 18M6 6l12 12%22/%3E%3C/svg%3E"); }
i.ri-menu-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 6h16M4 12h16M4 18h16%22/%3E%3C/svg%3E"); }
i.ri-check-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 6L9 17l-5-5%22/%3E%3C/svg%3E"); }
i.ri-checkbox-circle-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M8 12l3 3 5-6%22/%3E%3C/svg%3E"); }
i.ri-add-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 5v14M5 12h14%22/%3E%3C/svg%3E"); }
i.ri-subtract-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 12h14%22/%3E%3C/svg%3E"); }
i.ri-map-pin-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 22s7-6.5 7-12a7 7 0 1 0-14 0c0 5.5 7 12 7 12z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.5%22/%3E%3C/svg%3E"); }
i.ri-map-pin-2-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 22s7-6.5 7-12a7 7 0 1 0-14 0c0 5.5 7 12 7 12z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.5%22/%3E%3C/svg%3E"); }
i.ri-time-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E"); }
i.ri-shield-check-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V5l8-3z%22/%3E%3Cpath d=%22M9 12l2 2 4-4%22/%3E%3C/svg%3E"); }
i.ri-zoom-in-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2210.5%22 cy=%2210.5%22 r=%226.5%22/%3E%3Cpath d=%22M15.5 15.5L21 21M10.5 8v5M8 10.5h5%22/%3E%3C/svg%3E"); }
i.ri-file-list-3-line::before { content: ""; --gs-icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 3h9l4 4v14H6z%22/%3E%3Cpath d=%22M9 12h6M9 16h6%22/%3E%3C/svg%3E"); }

/* ---------- Responsive ---------- */
@media (min-width: 1700px) { .gs-other-inner { padding-top: 56px; } }
@media (max-width: 1100px) {
  .gs-page { padding-right: 32px; padding-left: 32px; }
  .gs-other { padding-right: 32px; padding-left: 32px; }
  .gs-other-inner { gap: 40px 48px; }
  .gs-hero { gap: 36px; }
  .gs-cols, .gs-steps, .gs-compare { gap: 28px; }
}
@media (max-width: 900px) {
  .gs-page { padding-top: 112px; }
  .glass-editorial { padding-top: 108px; }
  .gs-hero { grid-template-columns: 1fr; gap: 28px; }
  .gs-hero-figure { max-width: 620px; }
  .gs-cols, .gs-steps, .gs-compare, .gs-other-inner { grid-template-columns: 1fr; }
  .gs-other-inner { gap: 32px; padding-top: 36px; }
  .gs-other-row, .gs-other--home .gs-other-row { grid-template-columns: 28px 96px minmax(0, 1fr) 44px; gap: 0 18px; padding: 22px 0; scroll-margin-top: 96px; }
  .gs-other-arrow { width: 44px; height: 44px; }
  .gs-check, .gs-list--two, .gs-final, .gs-facts > div { grid-template-columns: 1fr; }
  .gs-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gs-final { padding: 32px; gap: 24px; }
  .gs-section { padding-top: 56px; scroll-margin-top: 96px; }
}
@media (max-width: 600px) {
  .gs-page { padding: 96px 18px 56px; }
  .glass-editorial { padding-top: 92px; }
  .gs-page h1 { font-size: 40px; }
  .gs-lead { font-size: 17px; }
  .gs-actions { flex-direction: column; align-items: stretch; }
  .gs-page .gs-cta { width: 100%; }
  .gs-link { align-self: flex-start; }
  .gs-hero-figure img { aspect-ratio: 4 / 3; border-radius: 20px; }
  .gs-jump { margin-top: 32px; }
  .gs-section h2, .gs-final h2 { font-size: 30px; }
  .gs-section > p { font-size: 16px; }
  .gs-section h3, .gs-h3, .gs-step h3, .gs-compare h3 { font-size: 22px; }
  .gs-gallery { gap: 10px; }
  .gs-gallery img { aspect-ratio: 1.15; }
  .gs-gallery a { border-radius: 12px; }
  .gs-faq summary { font-size: 16px; }
  .gs-final { margin-top: 56px; padding: 26px 20px; border-radius: 24px; }
  .gs-final .gs-cta { width: 100%; }
  .gs-other { padding: 0 18px 48px; }
  .gs-other h2 { font-size: 38px; }
  .gs-other-row, .gs-other--home .gs-other-row { grid-template-columns: 76px minmax(0, 1fr) 44px; gap: 0 14px; }
  .gs-other--home { padding: 0 18px 8px; }
  .gs-other-num { display: none; }
  .gs-other-text h3 { font-size: 25px; }
  .gs-other-links { flex-direction: column; gap: 10px; }
  .glass-editorial h1 { font-size: 38px; }
  .glass-editorial .ge-card > img { height: 240px; }
  .glass-editorial .ge-card-copy { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .gs-page .gs-cta, .gs-other .gs-cta, .gs-more summary { transition: none; }
}
