/* ==========================================================================
   SGL Seguros · Landing Simulador Seguro Saúde (saude.sgl.pt)
   Oxygen (clássico) → Manage → Stylesheets → Add Stylesheet "sgl-saude-landing"
   Todas as classes começam por "sgl-" e todos os blocos têm a classe raiz "sgl",
   para não colidir com o Oxygen nem com plugins.
   Ficheiro GERADO por _src/build.py: editar as fontes em _src/shared/ e _src/saude/.
   ========================================================================== */

/* ---------- Tokens (marca SGL + ramo) ---------- */
.sgl {
  --sgl-teal: #009CB4;
  --sgl-teal-600: #00859A;
  --sgl-teal-700: #006B7C;
  --sgl-teal-100: #CFEFF4;
  --sgl-teal-50: #EAF7F9;
  --sgl-orange: #D37126;
  --sgl-orange-700: #A8551A;
  --sgl-ink: #0E2A33;
  --sgl-charcoal: #3C3C3B;
  --sgl-muted: #52666E;
  --sgl-line: #DCE7EA;
  --sgl-bg: #F6FAFB;
  --sgl-surface: #FFFFFF;

  /* Ramo (cada landing redefine em _src/<ramo>/branch.css) */
  --branch: #009CB4;
  --branch-600: #00859A;
  --branch-700: #006B7C;
  --branch-100: #CFEFF4;
  --branch-50: #EAF7F9;

  --font-display: "Fira Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-body: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 24px;
  --r-xl: 32px;
  --shadow-sm: 0 1px 2px rgba(14, 42, 51, .05), 0 2px 10px rgba(14, 42, 51, .04);
  --shadow-md: 0 16px 36px -16px rgba(14, 42, 51, .22), 0 2px 6px rgba(14, 42, 51, .05);
  --shadow-lg: 0 40px 80px -30px rgba(14, 42, 51, .35);
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --container: 1200px;
  --gutter: clamp(16px, 4vw, 32px);
  --header-h: 80px;

  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  color: var(--sgl-charcoal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ---------- Globais mínimos (o subdomínio é só esta landing) ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 92px; -webkit-text-size-adjust: 100%; }
body { background: #F6FAFB; overflow-x: clip; margin: 0; }

/* ---------- Base (sempre dentro de .sgl)
   :where() mantém a especificidade em 0,1,0: ganha aos estilos globais do Oxygen (a, h1…),
   mas perde para as classes dos componentes, que vêm depois. ---------- */
.sgl, .sgl *, .sgl *::before, .sgl *::after { box-sizing: border-box; }
.sgl [hidden] { display: none !important; }
.sgl :where(img, svg, video) { display: block; max-width: 100%; }
.sgl :where(img) { height: auto; }
.sgl :where(a) { color: var(--branch-700); text-underline-offset: 3px; }
.sgl :where(button) { font: inherit; }
.sgl :where(h1, h2, h3, h4) {
  font-family: var(--font-display);
  color: var(--sgl-ink);
  line-height: 1.1;
  margin: 0 0 .5em;
  letter-spacing: -.015em;
  text-wrap: balance;
}
.sgl :where(h2) { font-size: clamp(2rem, 1.25rem + 2.7vw, 3.35rem); font-weight: 300; letter-spacing: -.025em; }
.sgl :where(h2 strong) { font-weight: 600; }
.sgl :where(h3) { font-size: 1.2rem; font-weight: 600; }
.sgl :where(p) { margin: 0 0 1em; text-wrap: pretty; }
.sgl :where(ul, ol) { margin: 0; padding: 0; }
.sgl :where(figure, blockquote, dl, dd) { margin: 0; }
.sgl ::selection { background: var(--branch-100); color: var(--sgl-ink); }
.sgl :focus-visible { outline: 3px solid var(--sgl-orange); outline-offset: 3px; border-radius: 8px; }

.sgl-container { width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; }
.sgl-sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.sgl-skip-link {
  position: fixed; top: 12px; left: 12px; z-index: 200; padding: .7em 1.1em;
  background: var(--sgl-ink); color: #fff !important; border-radius: 999px; font-weight: 700;
  transform: translateY(-160%); transition: transform .3s var(--ease-out);
}
.sgl-skip-link:focus { transform: none; }
.sgl-icon { width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }


/* Fira Sans 300 · latin-ext */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/fira-sans-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Fira Sans 300 · latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/fira-sans-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Fira Sans 400 · latin-ext */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/fira-sans-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Fira Sans 400 · latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/fira-sans-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Fira Sans 500 · latin-ext */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/fira-sans-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Fira Sans 500 · latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/fira-sans-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Fira Sans 600 · latin-ext */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/fira-sans-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Fira Sans 600 · latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/fira-sans-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Nunito Sans 400-800 · latin-ext */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/nunito-sans-400-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Nunito Sans 400-800 · latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/nunito-sans-400-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ==========================================================================
   CORE · componentes partilhados por todas as landings SGL (igual em todos os ramos)
   ========================================================================== */

/* ---------- Ambiente: fundo, progresso, cursor ---------- */
.sgl-bg-mesh { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.sgl-bg-mesh span {
  position: absolute; width: 60vmax; aspect-ratio: 1; border-radius: 50%;
  translate: calc(var(--mx, 0) * var(--k, 30px)) calc(var(--my, 0) * var(--k, 30px));
  transition: translate 1.2s var(--ease-out);
}
.sgl-bg-mesh span:nth-child(1) { top: -30vmax; right: -18vmax; --k: -50px; background: radial-gradient(circle, color-mix(in srgb, var(--branch) 22%, transparent), transparent 62%); }
.sgl-bg-mesh span:nth-child(2) { top: 30vh; left: -28vmax; --k: 40px; background: radial-gradient(circle, color-mix(in srgb, var(--sgl-teal) 16%, transparent), transparent 62%); }
.sgl-bg-mesh span:nth-child(3) { bottom: -40vmax; right: 10vw; --k: -30px; background: radial-gradient(circle, color-mix(in srgb, var(--sgl-orange) 9%, transparent), transparent 60%); }

.sgl-scroll-progress {
  position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 120;
  background: linear-gradient(90deg, var(--sgl-teal), var(--branch), var(--sgl-orange));
  transform-origin: 0 50%; transform: scaleX(0);
}

.sgl-cursor-aura {
  position: fixed; left: 0; top: 0; z-index: 150; pointer-events: none;
  width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%;
  border: 1.5px solid var(--branch-600); opacity: 0;
  transition: width .45s var(--ease-out), height .45s var(--ease-out), margin .45s var(--ease-out),
              opacity .3s, background-color .3s, border-color .3s;
}
.sgl-cursor-aura::after {
  content: ""; position: absolute; inset: 50% auto auto 50%; width: 5px; height: 5px; margin: -2.5px;
  border-radius: 50%; background: var(--sgl-teal); transition: opacity .3s;
}
.sgl-cursor-aura.sgl-is-visible { opacity: 1; }
.sgl-cursor-aura.sgl-is-hover {
  width: 72px; height: 72px; margin: -36px 0 0 -36px;
  background: color-mix(in srgb, var(--branch) 14%, transparent); border-color: transparent;
}
.sgl-cursor-aura.sgl-is-hover::after { opacity: 0; }
@media (hover: none), (pointer: coarse) { .sgl-cursor-aura { display: none; } }

/* ---------- Tipografia utilitária ---------- */
.sgl-eyebrow {
  display: inline-flex; align-items: center; gap: .65em; margin-bottom: 1.1rem;
  font-family: var(--font-display); font-weight: 500; font-size: .8rem;
  letter-spacing: .16em; text-transform: uppercase; color: var(--branch-700);
}
.sgl-eyebrow::before {
  content: ""; width: .62em; height: .62em; border-radius: 50%;
  background: var(--sgl-teal); box-shadow: 0 0 0 4px var(--branch-100);
}
.sgl-lead { font-size: clamp(1.075rem, 1rem + .35vw, 1.25rem); color: var(--sgl-muted); }
.sgl-muted { color: var(--sgl-muted); }
.sgl-small { font-size: .875rem; }
.sgl-text-grad {
  background: linear-gradient(100deg, var(--sgl-teal) 10%, var(--branch) 60%, var(--branch-700));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---------- Botões ---------- */
.sgl-btn {
  --bg: var(--sgl-ink); --fg: #fff; --sweep: var(--sgl-teal-700);
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: .65em;
  padding: .95em 1.55em; border: 0; border-radius: 999px; cursor: pointer;
  font-family: var(--font-display); font-weight: 500; font-size: 1rem; letter-spacing: .01em;
  line-height: 1.2; text-decoration: none; white-space: nowrap;
  background: var(--bg); color: var(--fg);
  transition: transform .5s var(--ease-out), box-shadow .4s var(--ease-out), color .3s;
  box-shadow: 0 10px 24px -12px color-mix(in srgb, var(--bg) 80%, transparent);
}
.sgl-btn::before {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
  background: var(--sweep); transform: translateY(102%); transition: transform .55s var(--ease-out);
}
.sgl-btn:hover::before { transform: none; }
.sgl-btn:hover { box-shadow: 0 18px 32px -14px color-mix(in srgb, var(--sweep) 85%, transparent); }
.sgl-btn .sgl-icon { transition: transform .5s var(--ease-out); }
.sgl-btn:hover .sgl-icon-arrow { transform: translateX(4px); }
.sgl-btn-primary { --bg: var(--branch-700); --sweep: var(--sgl-ink); }
.sgl-btn-light { --bg: #fff; --fg: var(--sgl-ink); --sweep: var(--branch-100); }
.sgl-btn-ghost {
  --bg: transparent; --fg: var(--sgl-ink); --sweep: var(--branch-50);
  box-shadow: inset 0 0 0 1.5px var(--sgl-line);
}
.sgl-btn-ghost:hover { box-shadow: inset 0 0 0 1.5px var(--branch-100); }
.sgl-btn-sm { padding: .7em 1.2em; font-size: .9375rem; }
.sgl-btn-lg { padding: 1.1em 1.85em; font-size: 1.0625rem; }
.sgl-link-arrow {
  display: inline-flex; align-items: center; gap: .45em; font-weight: 700; text-decoration: none;
  color: var(--branch-700);
}
.sgl-link-arrow .sgl-icon { transition: transform .4s var(--ease-out); }
.sgl-link-arrow:hover .sgl-icon { transform: translateX(4px); }

/* ---------- Header ---------- */
.sgl-site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 90; height: var(--header-h);
  display: flex; align-items: center;
  transition: background-color .4s, box-shadow .4s, height .4s var(--ease-out);
}
.sgl-site-header.sgl-is-scrolled {
  --header-h: 64px;
  background: rgba(255, 255, 255, .78);
  -webkit-backdrop-filter: saturate(1.5) blur(16px); backdrop-filter: saturate(1.5) blur(16px);
  box-shadow: 0 1px 0 rgba(14, 42, 51, .07);
}
.sgl-header-inner { display: flex; align-items: center; gap: clamp(12px, 2vw, 28px); }
.sgl-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--sgl-charcoal); text-decoration: none; flex: none; }
.sgl-brand-mark { height: 46px; width: auto; transition: height .4s var(--ease-out); }
.sgl-brand-sep { width: 1px; height: 34px; background: var(--sgl-line); }
.sgl-brand-branch {
  font-family: var(--font-display); font-weight: 300; font-size: 1.9rem; line-height: 1; margin-top: -4px;
  color: var(--branch-600); letter-spacing: -.015em;
}
.sgl-site-header.sgl-is-scrolled .sgl-brand-mark { height: 40px; }
/* Barra de administração do WordPress (só visível com sessão iniciada) */
body.admin-bar .sgl-site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .sgl-site-header { top: 46px; } }
.sgl-nav { margin-left: auto; }
.sgl-nav ul { display: flex; gap: 2px; list-style: none; }
.sgl-nav a {
  display: block; padding: .5em .85em; border-radius: 999px;
  color: var(--sgl-ink); text-decoration: none; font-weight: 600; font-size: .9375rem;
  transition: background-color .3s, color .3s;
}
.sgl-nav a:hover, .sgl-nav a[aria-current="true"] { background: var(--branch-50); color: var(--branch-700); }
.sgl-header-phone {
  display: inline-flex; align-items: center; gap: .45em; color: var(--sgl-ink);
  font-weight: 700; font-size: .9375rem; text-decoration: none; white-space: nowrap;
}
.sgl-header-phone .sgl-icon { color: var(--branch-600); }
.sgl-nav-toggle {
  display: none; width: 44px; height: 44px; border: 0; border-radius: 50%;
  background: var(--sgl-surface); box-shadow: var(--shadow-sm); cursor: pointer; position: relative;
}
.sgl-nav-toggle span:not(.sgl-sr-only), .sgl-nav-toggle span:not(.sgl-sr-only)::before, .sgl-nav-toggle span:not(.sgl-sr-only)::after {
  position: absolute; left: 50%; width: 18px; height: 2px; margin-left: -9px; border-radius: 2px;
  background: var(--sgl-ink); transition: transform .4s var(--ease-out), opacity .3s;
}
.sgl-nav-toggle span:not(.sgl-sr-only) { top: 50%; margin-top: -1px; }
.sgl-nav-toggle span:not(.sgl-sr-only)::before, .sgl-nav-toggle span:not(.sgl-sr-only)::after { content: ""; left: 0; margin: 0; }
.sgl-nav-toggle span:not(.sgl-sr-only)::before { transform: translateY(-6px); }
.sgl-nav-toggle span:not(.sgl-sr-only)::after { transform: translateY(6px); }
.sgl-nav-open .sgl-nav-toggle span:not(.sgl-sr-only) { background: transparent; }
.sgl-nav-open .sgl-nav-toggle span:not(.sgl-sr-only)::before { transform: rotate(45deg); background: var(--sgl-ink); }
.sgl-nav-open .sgl-nav-toggle span:not(.sgl-sr-only)::after { transform: rotate(-45deg); background: var(--sgl-ink); }

/* ---------- Secções ---------- */
.sgl-section { position: relative; padding: clamp(80px, 10vw, 136px) 0; }
.sgl-section-tight { padding: clamp(56px, 7vw, 88px) 0; }
.sgl-section-head { max-width: 780px; margin-bottom: clamp(40px, 5vw, 64px); }
.sgl-section-head.sgl-center { margin-inline: auto; text-align: center; }
.sgl-section-head p { font-size: 1.125rem; color: var(--sgl-muted); max-width: 640px; }
.sgl-section-head.sgl-center p { margin-inline: auto; }
.sgl-section-alt { background: var(--sgl-surface); }

/* ---------- Revelação ao scroll ---------- */
.sgl-js [data-reveal] {
  opacity: 0; transform: translateY(28px);
  transition: opacity 1s var(--ease-out), transform 1s var(--ease-out);
  transition-delay: calc(var(--d, 0) * 90ms);
}
.sgl-js [data-reveal="left"] { transform: translateX(-32px); }
.sgl-js [data-reveal="scale"] { transform: scale(.94); }
.sgl-js [data-reveal].sgl-is-in { opacity: 1; transform: none; }

/* ---------- Marquee ---------- */
.sgl-marquee {
  overflow: hidden; padding: 22px 0; border-block: 1px solid var(--sgl-line); background: var(--sgl-surface);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.sgl-marquee-track { display: flex; width: max-content; animation: sgl-marquee 48s linear infinite; }
.sgl-marquee:hover .sgl-marquee-track { animation-play-state: paused; }
.sgl-marquee ul { display: flex; list-style: none; }
.sgl-marquee li {
  display: inline-flex; align-items: center; gap: 22px; padding-right: 22px; white-space: nowrap;
  font-family: var(--font-display); font-weight: 300; font-size: clamp(1.15rem, 1rem + .6vw, 1.6rem); color: var(--sgl-ink);
}
.sgl-marquee li::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--branch); }
@keyframes sgl-marquee { to { transform: translateX(-50%); } }

/* ---------- Cartões (tilt + spotlight) ---------- */
.sgl-card {
  position: relative; overflow: hidden;
  background: var(--sgl-surface); border: 1px solid var(--sgl-line); border-radius: var(--r-lg);
  padding: clamp(22px, 2.4vw, 32px); box-shadow: var(--shadow-sm);
  transform: perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  transition: transform .8s var(--ease-out), box-shadow .5s var(--ease-out), border-color .4s;
}
.sgl-card.sgl-is-tilting { transition: transform .15s linear, box-shadow .5s var(--ease-out), border-color .4s; }
.sgl-card::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(480px circle at var(--mx, 50%) var(--my, 0%),
              color-mix(in srgb, var(--branch) 15%, transparent), transparent 42%);
  opacity: 0; transition: opacity .5s;
}
.sgl-card:hover { box-shadow: var(--shadow-md); border-color: var(--branch-100); }
.sgl-card:hover::after { opacity: 1; }
.sgl-card h3 { margin-top: 18px; }
.sgl-card p { color: var(--sgl-muted); margin: 0; font-size: 1rem; }
.sgl-ico {
  width: 54px; height: 54px; border-radius: 17px; display: grid; place-items: center;
  background: var(--branch-50); color: var(--branch-700);
  transition: transform .6s var(--ease-spring), background-color .35s, color .35s;
}
.sgl-ico .sgl-icon { width: 27px; height: 27px; }
.sgl-card:hover .sgl-ico { transform: rotate(-8deg) scale(1.08); background: var(--branch-700); color: #fff; }
.sgl-tag {
  display: inline-flex; align-items: center; gap: .4em; padding: .3em .75em; border-radius: 999px;
  font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  background: var(--sgl-bg); color: var(--sgl-muted); border: 1px solid var(--sgl-line);
}
.sgl-tag-strong { background: var(--branch-50); border-color: var(--branch-100); color: var(--branch-700); }

/* ---------- Passos ---------- */
@property --line { syntax: "<percentage>"; inherits: true; initial-value: 0%; }
.sgl-steps { transition: --line 2.2s var(--ease-out) .2s; }
.sgl-steps.sgl-is-in { --line: 100%; }
.sgl-steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 28px); position: relative; counter-reset: step; }
.sgl-steps::before {
  content: ""; position: absolute; top: 27px; left: 27px; right: 12%; height: 2px;
  background: linear-gradient(90deg, var(--branch) var(--line), var(--sgl-line) var(--line));
}
.sgl-step { position: relative; }
.sgl-step-num {
  position: relative; z-index: 1; width: 56px; height: 56px; border-radius: 50%;
  display: grid; place-items: center; background: var(--sgl-surface); color: var(--branch-700);
  border: 2px solid var(--branch-100); box-shadow: 0 0 0 8px var(--sgl-bg);
  font-family: var(--font-display); font-weight: 600; font-size: 1.15rem;
  transition: background-color .5s, color .5s, border-color .5s, transform .6s var(--ease-spring);
}
.sgl-step.sgl-is-in .sgl-step-num { background: var(--branch-700); color: #fff; border-color: var(--branch-700); }
.sgl-step:hover .sgl-step-num { transform: scale(1.1); }
.sgl-step h3 { margin: 26px 0 .45em; }
.sgl-step p { color: var(--sgl-muted); font-size: 1rem; margin: 0; }

/* ---------- Tabs ---------- */
.sgl-tabs-list {
  display: inline-flex; gap: 4px; padding: 6px; margin-bottom: 36px; border-radius: 999px;
  background: var(--sgl-surface); border: 1px solid var(--sgl-line); box-shadow: var(--shadow-sm);
  max-width: 100%; overflow-x: auto; scrollbar-width: none;
}
.sgl-tabs-list::-webkit-scrollbar { display: none; }
.sgl-tab {
  flex: none; border: 0; background: transparent; cursor: pointer; padding: .7em 1.2em; border-radius: 999px;
  font-weight: 700; font-size: .9375rem; color: var(--sgl-muted); transition: background-color .35s, color .35s;
}
.sgl-tab:hover { color: var(--sgl-ink); background: var(--branch-50); }
.sgl-tab[aria-selected="true"] { background: var(--sgl-ink); color: #fff; }
.sgl-tab-panel:not([hidden]) { animation: sgl-panelIn .7s var(--ease-out); }
@keyframes sgl-panelIn { from { opacity: 0; transform: translateY(14px); } }

/* ---------- Lista com visto ---------- */
.sgl-checklist { list-style: none; display: grid; gap: .7em; }
.sgl-checklist li { display: flex; gap: .7em; align-items: flex-start; }
.sgl-checklist .sgl-icon { width: 1.35em; height: 1.35em; padding: .22em; border-radius: 50%; background: var(--branch-50); color: var(--branch-700); stroke-width: 2.4; margin-top: .12em; }
.sgl-checklist li.sgl-is-off { color: var(--sgl-muted); opacity: .75; }
.sgl-checklist li.sgl-is-off .sgl-icon { background: var(--sgl-bg); color: var(--sgl-muted); }

/* ---------- FAQ ---------- */
.sgl-faq { border-top: 1px solid var(--sgl-line); }
.sgl-faq-item { border-bottom: 1px solid var(--sgl-line); }
.sgl-faq-item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 24px 0; cursor: pointer; list-style: none;
}
.sgl-faq-item summary::-webkit-details-marker { display: none; }
.sgl-faq-item summary h3 { margin: 0; font-weight: 500; font-size: clamp(1.075rem, 1rem + .3vw, 1.25rem); transition: color .3s; }
.sgl-faq-item summary:hover h3 { color: var(--branch-700); }
.sgl-faq-plus {
  flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
  background: var(--branch-50); color: var(--branch-700); transition: transform .5s var(--ease-spring), background-color .3s, color .3s;
}
.sgl-faq-item[open] .sgl-faq-plus { transform: rotate(135deg); background: var(--branch-700); color: #fff; }
.sgl-faq-body { padding: 0 64px 26px 0; color: var(--sgl-muted); }
.sgl-faq-item[open] .sgl-faq-body { animation: sgl-panelIn .6s var(--ease-out); }
.sgl-faq-body p:last-child { margin: 0; }

/* ---------- Estatísticas ---------- */
.sgl-stat-num {
  display: block; font-family: var(--font-display); font-weight: 300; line-height: 1;
  font-size: clamp(2.75rem, 2rem + 3vw, 4.5rem); letter-spacing: -.04em; color: var(--sgl-ink);
}
/* position/top/line-height repostos: muitos temas WordPress (normalize.css) aplicam sup { position: relative; top: -.5em; line-height: 0 } */
.sgl-stat-num sup { position: static; top: auto; bottom: auto; display: inline; font-size: .45em; line-height: 1; font-weight: 500; color: var(--branch-600); vertical-align: top; margin-left: .05em; }
.sgl-stat-label { display: block; margin-top: .5em; color: var(--sgl-muted); font-size: .95rem; }

/* ---------- Placeholder de fotografia ---------- */
.sgl-ph {
  position: relative; overflow: hidden; border-radius: var(--r-lg);
  display: grid; place-items: center; text-align: center; padding: 24px;
  color: var(--sgl-muted); font-size: .875rem;
  background:
    radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--branch) 25%, transparent), transparent 55%),
    radial-gradient(circle at 80% 90%, color-mix(in srgb, var(--sgl-teal) 22%, transparent), transparent 55%),
    repeating-linear-gradient(135deg, var(--branch-50) 0 14px, #fff 14px 28px);
  border: 1.5px dashed color-mix(in srgb, var(--branch) 45%, transparent);
}
.sgl-ph-inner { max-width: 34ch; background: rgba(255, 255, 255, .85); padding: 14px 18px; border-radius: 14px; backdrop-filter: blur(6px); }
.sgl-ph-inner strong { display: block; color: var(--sgl-ink); font-family: var(--font-display); font-weight: 600; margin-bottom: .25em; }
.sgl-ph .sgl-icon { width: 28px; height: 28px; margin: 0 auto 8px; color: var(--branch-700); }

/* ---------- Footer ---------- */
.sgl-site-footer { background: var(--sgl-ink); color: rgba(255, 255, 255, .72); padding: 72px 0 110px; font-size: .9375rem; }
.sgl-site-footer a { color: #fff; text-decoration: none; }
.sgl-site-footer a:hover { text-decoration: underline; }
.sgl-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.sgl-footer-title { font-family: var(--font-display); font-weight: 500; color: #fff; font-size: 1rem; margin-bottom: 1em; letter-spacing: .02em; }
.sgl-footer-list { list-style: none; display: grid; gap: .55em; }
.sgl-site-footer .sgl-brand { color: #fff; }
.sgl-site-footer .sgl-brand-sep { background: rgba(255, 255, 255, .22); }
.sgl-footer-legal { margin-top: 40px; padding: 20px 22px; border-radius: var(--r-md); background: rgba(255, 255, 255, .05); font-size: .8125rem; line-height: 1.6; color: rgba(255, 255, 255, .7); }
.sgl-footer-legal p { margin: 0; }
.sgl-site-footer .sgl-brand-branch { color: var(--branch); }
.sgl-footer-note { font-size: .78rem; opacity: .7; line-height: 1.5; }
/* Casa-mãe: sgl.pt destacado dos simuladores */
.sgl-footer-home { margin-top: 26px; max-width: 320px; border-radius: var(--r-md); background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); overflow: hidden; }
.sgl-site-footer .sgl-footer-home-main { display: grid; gap: 2px; padding: 16px 20px; transition: background .3s; }
.sgl-site-footer .sgl-footer-home-main:hover { text-decoration: none; background: rgba(255, 255, 255, .06); }
.sgl-footer-home-label { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.sgl-footer-home-url { display: inline-flex; align-items: center; gap: .45em; font-family: var(--font-display); font-weight: 600; font-size: 1.5rem; line-height: 1.2; color: #fff; }
.sgl-footer-home-url .sgl-icon { width: .8em; height: .8em; color: var(--sgl-teal); transition: transform .4s var(--ease-out); }
.sgl-footer-home-main:hover .sgl-footer-home-url .sgl-icon { transform: translateX(5px); }
.sgl-site-footer .sgl-footer-home-sub { display: block; padding: 11px 20px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .875rem; color: rgba(255, 255, 255, .8); }
.sgl-footer-bottom {
  margin-top: 56px; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .12);
  display: flex; flex-wrap: wrap; gap: 12px 28px; justify-content: space-between; font-size: .8125rem;
}
.sgl-footer-bottom ul { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; }

/* ---------- CTA fixo mobile + WhatsApp ---------- */
.sgl-mobile-cta {
  position: fixed; z-index: 80; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom));
  display: none; transform: translateY(150%); transition: transform .6s var(--ease-out);
}
.sgl-mobile-cta .sgl-btn { width: 100%; box-shadow: var(--shadow-lg); }
.sgl-mobile-cta.sgl-is-visible { transform: none; }
.sgl-wa-fab {
  position: fixed; z-index: 81; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 12px;
  border-radius: 999px; background: #25D366; color: #fff; text-decoration: none; box-shadow: var(--shadow-md);
  transition: transform .5s var(--ease-spring), bottom .6s var(--ease-out), background-color .3s;
}
.sgl-wa-fab:hover { color: #fff; text-decoration: none; background: #1EBE5B; }
.sgl-wa-fab:not(.sgl-has-label):hover { transform: scale(1.1) rotate(-6deg); }
.sgl-wa-fab.sgl-has-label { padding: 6px 22px 6px 6px; }
.sgl-wa-fab.sgl-has-label:hover { transform: translateY(-3px); }
.sgl-wa-ic { position: relative; flex: none; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; }
.sgl-has-label .sgl-wa-ic { width: 44px; height: 44px; background: rgba(255, 255, 255, .18); }
.sgl-wa-ic svg { width: 28px; height: 28px; fill: currentColor; }
.sgl-has-label .sgl-wa-ic svg { width: 26px; height: 26px; }
.sgl-wa-txt b { display: block; font-family: var(--font-display); font-size: 1rem; font-weight: 600; line-height: 1.15; }
.sgl-wa-txt small { display: block; font-size: .75rem; line-height: 1.25; opacity: .92; }
/* Com o simulador à vista, o botão fica só com o ícone para não tapar o formulário */
.sgl-sim-visible .sgl-wa-fab.sgl-has-label { padding: 0; }
.sgl-sim-visible .sgl-has-label .sgl-wa-ic { width: 56px; height: 56px; background: none; }
.sgl-sim-visible .sgl-has-label .sgl-wa-ic svg { width: 28px; height: 28px; }
.sgl-sim-visible .sgl-wa-txt { display: none; }

/* ---------- Interações de scroll (opt-in) ---------- */
/* Títulos com palavras a subir (data-split) */
.sgl-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.sgl-wi { display: inline-block; }
.sgl-js [data-split] .sgl-wi { transform: translateY(110%); transition: transform 1s var(--ease-out); transition-delay: calc(var(--i, 0) * 45ms); }
.sgl-js [data-split].sgl-is-in .sgl-wi { transform: none; }

/* Faixa que inclina com a velocidade do scroll (data-velocity) */
[data-velocity] .sgl-marquee li { transform: skewX(var(--skew, 0deg)); transition: transform .2s linear; }

/* Secção horizontal fixa (data-hscroll); em mobile é um carrossel com snap */
.sgl-hs-track {
  display: flex; gap: clamp(16px, 2vw, 28px); overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 8px var(--gutter) 24px; scrollbar-width: none;
}
.sgl-hs-track::-webkit-scrollbar { display: none; }
.sgl-hs-track > * { flex: none; scroll-snap-align: center; }
.sgl-hs-on .sgl-hs-sticky { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.sgl-hs-on .sgl-hs-track { overflow: visible; will-change: transform; padding-left: max(var(--gutter), calc((100vw - var(--container)) / 2)); padding-right: 12vw; }
.sgl-hs-bar { height: 3px; border-radius: 3px; background: var(--sgl-line); overflow: hidden; width: min(100% - 2 * var(--gutter), var(--container)); margin: 26px auto 0; display: none; }
.sgl-hs-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--sgl-teal), var(--branch)); transform-origin: 0 50%; transform: scaleX(0); }
.sgl-hs-on .sgl-hs-bar { display: block; }

/* Cartões empilhados (data-stack) */
[data-stack] > * {
  position: sticky; top: calc(var(--header-h) + 28px + var(--i, 0) * 18px);
  transform: scale(calc(1 - var(--stack, 0) * .06)); transform-origin: 50% 0;
  filter: brightness(calc(1 - var(--stack, 0) * .06));
  will-change: transform;
}

/* ---------- Responsivo ---------- */
@media (max-width: 1080px) {
  .sgl-header-phone span { display: none; }
  .sgl-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 960px) {
  .sgl-nav-toggle { display: inline-block; }
  .sgl-nav {
    position: fixed; inset: 0; z-index: -1; display: grid; place-items: center;
    background: rgba(246, 250, 251, .97); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
    opacity: 0; visibility: hidden; transition: opacity .4s, visibility .4s;
  }
  .sgl-nav ul { flex-direction: column; align-items: center; gap: 8px; }
  .sgl-nav a { font-family: var(--font-display); font-weight: 300; font-size: 2rem; padding: .25em .8em; }
  .sgl-nav-open .sgl-nav { opacity: 1; visibility: visible; }
  .sgl-nav-open body { overflow: hidden; }
  .sgl-header-phone { margin-left: auto; }
  .sgl-header-phone .sgl-icon { width: 1.4em; height: 1.4em; }
  .sgl-steps { grid-template-columns: 1fr 1fr; row-gap: 44px; }
  .sgl-steps::before { display: none; }
}
@media (max-width: 720px) {
  body { font-size: 1rem; }
  .sgl-header-phone { display: none; }
  .sgl-header-inner > .sgl-btn { margin-left: auto; }
  .sgl-mobile-cta { display: block; }
  .sgl-wa-fab { bottom: 88px; transition: transform .5s var(--ease-spring), opacity .3s; }
  .sgl-wa-fab.sgl-has-label { padding: 0; }
  .sgl-wa-ic, .sgl-has-label .sgl-wa-ic { width: 50px; height: 50px; background: none; }
  .sgl-has-label .sgl-wa-ic svg { width: 28px; height: 28px; }
  .sgl-wa-txt { display: none; }
  .sgl-sim-visible .sgl-wa-fab { opacity: 0; transform: scale(.6); pointer-events: none; }
  .sgl-steps { grid-template-columns: 1fr; }
  .sgl-faq-body { padding-right: 0; }
  .sgl-footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .sgl-header-inner > .sgl-btn { padding: .65em 1em; }
  .sgl-brand { gap: 9px; }
  .sgl-brand-mark { height: 38px; }
  .sgl-brand-sep { height: 28px; }
  .sgl-brand-branch { font-size: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .sgl-js [data-reveal] { opacity: 1; transform: none; }
}

/* ==========================================================================
   LANDING · componentes comuns aos ramos: hero com fotografia + simulador, coberturas,
   perfis, guia, calculadora, Porquê SGL, FAQ, CTA final, colunas fixas
   ========================================================================== */

/* ---------- Hero + simulador ---------- */
.sgl-hero { position: relative; padding: calc(var(--header-h) + clamp(18px, 2.6vw, 40px)) 0 clamp(96px, 10vw, 140px); }
.sgl-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, 480px); gap: clamp(32px, 4.5vw, 72px); align-items: start; }
.sgl-hero-copy { padding-top: 8px; }
.sgl-hero h1 {
  font-size: clamp(2.3rem, 1.2rem + 3vw, 3.7rem); font-weight: 300; letter-spacing: -.035em; line-height: 1.04;
  margin-bottom: .5em;
}
.sgl-h1-kicker {
  display: inline-flex; align-items: center; gap: .6em; margin-bottom: 1rem;
  padding: .5em 1em .5em .8em; border-radius: 999px;
  font-size: clamp(.9rem, .82rem + .3vw, 1.05rem); font-weight: 600; letter-spacing: .005em; line-height: 1.2;
  color: var(--branch-700); background: var(--sgl-surface); border: 1px solid var(--branch-100); box-shadow: var(--shadow-sm);
}
.sgl-h1-kicker .sgl-ping { position: relative; width: 9px; height: 9px; border-radius: 50%; background: var(--branch); }
.sgl-h1-kicker .sgl-ping::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--branch);
  animation: sgl-ping 2s var(--ease-out) infinite;
}
@keyframes sgl-ping { 70%, 100% { transform: scale(2.8); opacity: 0; } }
.sgl-h1-main { display: block; }
.sgl-h1-main em { font-style: normal; font-weight: 600; }
.sgl-hero .sgl-lead { max-width: 34em; margin: 0; }
.sgl-hero-more { margin-top: 36px; }

/* Fotografia do hero */
.sgl-hero-photo { position: relative; aspect-ratio: 1200 / 896; border-radius: var(--r-xl); isolation: isolate; }
.sgl-hero-photo-frame {
  position: absolute; inset: 0; overflow: hidden; border-radius: inherit; box-shadow: var(--shadow-lg);
  animation: sgl-unveil 1.5s var(--ease-out) both;
}
.sgl-hero-photo-frame img {
  width: 100%; height: 100%; object-fit: cover; object-position: 48% 50%;
  transform: scale(1.06) translate(var(--px, 0px), var(--py, 0px));
  transition: transform 1.4s var(--ease-out);
}
.sgl-hero-photo:hover .sgl-hero-photo-frame img { transform: scale(1.1) translate(var(--px, 0px), var(--py, 0px)); }
.sgl-hero-photo-frame::after {
  content: ""; position: absolute; inset: 45% 0 0 0; pointer-events: none;
  background: linear-gradient(to top, rgba(14, 42, 51, .62), rgba(14, 42, 51, 0));
}
@keyframes sgl-unveil {
  from { clip-path: inset(8% 6% 8% 6% round 40px); opacity: .3; }
  to { clip-path: inset(0 round 32px); opacity: 1; }
}
.sgl-photo-ecg { position: absolute; left: 0; right: 0; bottom: 26%; height: 70px; z-index: 1; pointer-events: none; }
.sgl-photo-ecg svg { width: 100%; height: 100%; }
.sgl-photo-ecg path { stroke-dasharray: 340 1600; stroke-dashoffset: 340; animation: sgl-ecg-photo 4.8s linear infinite; }
@keyframes sgl-ecg-photo { to { stroke-dashoffset: -1600; } }

.sgl-rating {
  position: absolute; z-index: 2; left: 18px; bottom: 18px;
  display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px 10px 12px;
  border-radius: 16px; background: rgba(255, 255, 255, .9); border: 1px solid rgba(255, 255, 255, .95);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: var(--shadow-md);
  color: var(--sgl-ink); text-decoration: none; line-height: 1.2; transition: transform .5s var(--ease-out), box-shadow .4s;
}
.sgl-rating:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.sgl-rating-g { width: 26px; height: 26px; }
.sgl-rating strong { font-family: var(--font-display); font-weight: 600; font-size: 1.6rem; letter-spacing: -.02em; }
.sgl-rating small { display: block; color: var(--sgl-muted); font-size: .8rem; text-decoration: underline; text-underline-offset: 2px; }
.sgl-stars { display: inline-flex; gap: 1px; color: #F4B400; }
.sgl-stars svg { width: 15px; height: 15px; fill: currentColor; }

.sgl-float-card {
  position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px;
  padding: 9px 14px 9px 9px; border-radius: 16px; line-height: 1.2; font-size: .875rem; white-space: nowrap;
  color: var(--sgl-ink); background: rgba(255, 255, 255, .9);
  -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, .95); box-shadow: var(--shadow-md);
  transition: translate .9s var(--ease-out);
  animation: sgl-bob 7s ease-in-out infinite;
}
.sgl-float-card strong { display: block; font-family: var(--font-display); font-weight: 600; font-size: .92rem; }
.sgl-float-card small { color: var(--sgl-muted); font-size: .76rem; }
.sgl-float-card .sgl-fc-ico { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; background: var(--branch-50); color: var(--branch-700); flex: none; }
.sgl-float-card .sgl-fc-ico .sgl-icon { width: 19px; height: 19px; }
.sgl-float-card .sgl-fc-check { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--branch); color: #fff; margin-left: 2px; }
.sgl-float-card .sgl-fc-check .sgl-icon { width: 12px; height: 12px; stroke-width: 3; }
.sgl-fc-1 { top: 9%; left: -22px; }
.sgl-fc-2 { top: 40%; right: -24px; animation-delay: -3s; }
@keyframes sgl-bob { 50% { transform: translateY(-8px); } }
.sgl-heart-badge {
  position: absolute; z-index: 3; top: -26px; right: 15%; width: 64px; height: 64px; border-radius: 50%;
  display: grid; place-items: center; background: #fff; box-shadow: var(--shadow-md);
  transition: translate .9s var(--ease-out); animation: sgl-bob 6s ease-in-out infinite; animation-delay: -1.5s;
}
.sgl-heart-badge svg { width: 30px; height: 30px; fill: var(--sgl-orange); stroke: none; animation: sgl-beat 1.6s ease-in-out infinite; }
@keyframes sgl-beat { 0%, 40%, 100% { transform: scale(1); } 15% { transform: scale(1.16); } 28% { transform: scale(1.05); } }

.sgl-hero-points { margin-top: 28px; }
.sgl-hero-points .sgl-checklist { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 18px; color: var(--sgl-ink); font-weight: 600; font-size: .94rem; line-height: 1.35; }

/* Ilustrações dos perfis */
.sgl-plus { transform-box: fill-box; transform-origin: center; animation: sgl-twinkle 5s ease-in-out infinite; }
@keyframes sgl-twinkle { 50% { transform: rotate(90deg) scale(.7); opacity: .5; } }
.sgl-profile-art .sgl-heart { transform-box: fill-box; transform-origin: center; animation: sgl-beat 1.6s ease-in-out infinite; }

/* Cartão do simulador */
.sgl-sim { scroll-margin-top: calc(var(--header-h) + 12px); }
.sgl-sim-card {
  position: relative; overflow: hidden; background: var(--sgl-surface); border-radius: var(--r-lg);
  border: 1px solid var(--sgl-line);
  box-shadow: 0 2px 4px rgba(14, 42, 51, .05), 0 30px 70px -20px rgba(14, 58, 74, .35);
}
.sgl-sim-card::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; z-index: 2;
  background: linear-gradient(90deg, var(--sgl-teal), var(--branch) 55%, var(--sgl-orange));
}
.sgl-sim-head { display: flex; align-items: center; gap: 14px; padding: 22px 22px 16px; border-bottom: 1px solid var(--sgl-line); }
.sgl-sim-head .sgl-ico { width: 46px; height: 46px; border-radius: 14px; flex: none; }
.sgl-sim-head .sgl-ico .sgl-icon { width: 23px; height: 23px; }
.sgl-sim-head h2 { font-size: 1.2rem; font-weight: 600; letter-spacing: -.01em; margin: 0; }
.sgl-sim-head p { margin: 2px 0 0; font-size: .875rem; color: var(--sgl-muted); }
.sgl-sim-badge {
  margin-left: auto; display: inline-flex; align-items: center; gap: .35em; padding: .35em .75em; border-radius: 999px;
  background: var(--branch-50); color: var(--branch-700); font-weight: 800; font-size: .78rem; white-space: nowrap;
}
.sgl-sim-badge .sgl-icon { width: 14px; height: 14px; stroke-width: 2.2; }
.sgl-sim-frame { position: relative; background: #fff; min-height: 520px; }
.sgl-sim-frame iframe { display: block; width: 100%; height: 980px; border: 0; background: #fff; transition: height .25s ease; }
.sgl-sim-skel { position: absolute; inset: 0; padding: 28px 22px; display: grid; gap: 12px; align-content: start; background: #fff; transition: opacity .35s; }
.sgl-sim-frame.sgl-is-loaded .sgl-sim-skel { opacity: 0; pointer-events: none; }
.sgl-sk { height: 46px; border-radius: 12px; background: linear-gradient(90deg, #EEF4F6 25%, #F8FBFC 50%, #EEF4F6 75%); background-size: 200% 100%; animation: sgl-shimmer 1.3s linear infinite; }
.sgl-sk.sgl-sm { height: 12px; width: 38%; border-radius: 6px; margin-top: 8px; }
@keyframes sgl-shimmer { to { background-position: -200% 0; } }
.sgl-sim-foot { display: flex; align-items: center; gap: 10px; padding: 14px 22px; font-size: .8125rem; color: var(--sgl-muted); border-top: 1px solid var(--sgl-line); }
.sgl-sim-foot .sgl-icon { color: var(--branch-600); }

/* Linha-assinatura (ECG) */
.sgl-signature-line { position: absolute; left: 0; right: 0; bottom: 0; height: 120px; pointer-events: none; }
.sgl-signature-line svg { width: 100%; height: 100%; }
.sgl-signature-line .sgl-ecg-base { stroke: var(--sgl-line); }
.sgl-signature-line .sgl-ecg-live { stroke-dasharray: 520 3000; stroke-dashoffset: 520; animation: sgl-ecg 5.5s linear infinite; }
@keyframes sgl-ecg { to { stroke-dashoffset: -3000; } }

/* ---------- Coberturas (bento) ---------- */
.sgl-bento { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 1.6vw, 20px); }
.sgl-bento .sgl-card-feature { grid-column: span 2; display: grid; grid-template-columns: 1fr auto; gap: 20px; min-height: 250px; }
.sgl-bento .sgl-card-feature h3 { font-size: 1.5rem; }
.sgl-card-feature .sgl-feature-art { width: 150px; height: 150px; align-self: end; color: var(--branch); opacity: .9; transition: transform .8s var(--ease-out); }
.sgl-card-feature:hover .sgl-feature-art { transform: translate(-6px, -6px) rotate(-4deg); }
.sgl-card-cta {
  background: var(--sgl-ink); border-color: var(--sgl-ink); color: #fff; display: flex; flex-direction: column; justify-content: space-between; text-decoration: none;
}
.sgl-card-cta h3 { color: #fff; font-weight: 400; font-size: 1.35rem; }
.sgl-card-cta p { color: rgba(255, 255, 255, .7); }
.sgl-card-cta .sgl-ico { background: rgba(255, 255, 255, .1); color: #fff; }
.sgl-card-cta:hover .sgl-ico { background: var(--branch); }
.sgl-card-cta::after { background: radial-gradient(480px circle at var(--mx, 50%) var(--my, 0%), color-mix(in srgb, var(--branch) 35%, transparent), transparent 45%); }
.sgl-coverage-note { margin-top: 22px; font-size: .875rem; color: var(--sgl-muted); }

/* ---------- Perfis ---------- */
.sgl-profile { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.sgl-profile-art {
  position: relative; border-radius: var(--r-xl); aspect-ratio: 4 / 3; overflow: hidden;
  background: radial-gradient(circle at 70% 25%, #fff, transparent 60%), linear-gradient(160deg, var(--branch-50), var(--sgl-teal-50));
  border: 1px solid var(--branch-100);
}
.sgl-profile-art svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.sgl-profile-art .sgl-fig-in { animation: sgl-rise 1s var(--ease-spring) both; transform-box: fill-box; transform-origin: 50% 100%; }
.sgl-profile-art .sgl-fig-in:nth-of-type(2) { animation-delay: .08s; }
.sgl-profile-art .sgl-fig-in:nth-of-type(3) { animation-delay: .16s; }
.sgl-profile-art .sgl-fig-in:nth-of-type(4) { animation-delay: .24s; }
@keyframes sgl-rise { from { transform: translateY(40px) scale(.85); opacity: 0; } }
.sgl-profile h3 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.2rem); font-weight: 300; letter-spacing: -.02em; }
.sgl-profile p { color: var(--sgl-muted); }
.sgl-profile .sgl-checklist { margin: 24px 0 30px; color: var(--sgl-ink); font-weight: 600; }

/* ---------- Guia / glossário ---------- */
.sgl-glossary { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 1.6vw, 20px); margin: 0; }
.sgl-glossary .sgl-card { display: flex; flex-direction: column; }
.sgl-glossary dt { font-family: var(--font-display); font-weight: 600; font-size: 1.2rem; color: var(--sgl-ink); display: flex; align-items: center; gap: .6em; }
.sgl-glossary dt .sgl-n { font-weight: 300; font-size: .95rem; color: var(--branch-600); font-variant-numeric: tabular-nums; }
.sgl-glossary dd { margin: .6em 0 0; color: var(--sgl-muted); font-size: 1rem; }

/* Seguro de saúde ≠ plano de saúde */
.sgl-versus {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; margin-bottom: clamp(32px, 4vw, 48px);
  border-radius: var(--r-xl); background: var(--sgl-surface); border: 1px solid var(--sgl-line); box-shadow: var(--shadow-sm); overflow: hidden;
}
.sgl-versus-col { padding: clamp(24px, 3vw, 40px); }
.sgl-versus-col h3 { font-size: clamp(1.4rem, 1.2rem + .7vw, 1.8rem); font-weight: 400; margin: 14px 0 18px; letter-spacing: -.02em; }
.sgl-versus-yes { background: linear-gradient(160deg, var(--branch-50), #fff 70%); }
.sgl-versus-yes .sgl-checklist { color: var(--sgl-ink); font-weight: 600; }
.sgl-versus-vs {
  align-self: center; width: 56px; height: 56px; margin: 0 -28px; z-index: 1; border-radius: 50%; display: grid; place-items: center;
  background: var(--sgl-ink); color: #fff; font-family: var(--font-display); font-size: 1.6rem; box-shadow: 0 0 0 8px var(--sgl-surface);
}

/* Calculadora */
.sgl-calc {
  margin-top: clamp(40px, 5vw, 64px); display: grid; grid-template-columns: 1fr 1fr; overflow: hidden;
  border-radius: var(--r-xl); background: var(--sgl-surface); border: 1px solid var(--sgl-line); box-shadow: var(--shadow-md);
}
.sgl-calc-controls { padding: clamp(24px, 3.5vw, 48px); }
.sgl-calc-controls h3 { font-size: clamp(1.35rem, 1.1rem + .8vw, 1.75rem); font-weight: 400; letter-spacing: -.02em; }
.sgl-calc-controls > p { color: var(--sgl-muted); font-size: 1rem; }
.sgl-range { margin-top: 26px; }
.sgl-range-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 10px; }
.sgl-range label { font-weight: 700; color: var(--sgl-ink); font-size: .9375rem; }
.sgl-range output { font-family: var(--font-display); font-weight: 600; color: var(--branch-700); font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.sgl-range input[type="range"] {
  --pct: 50%;
  -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 99px; cursor: pointer;
  background: linear-gradient(90deg, var(--branch) var(--pct), var(--sgl-line) var(--pct));
}
.sgl-range input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #fff;
  border: 6px solid var(--branch-700); box-shadow: 0 4px 12px rgba(14, 42, 51, .2); transition: transform .3s var(--ease-spring);
}
.sgl-range input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.18); }
.sgl-range input[type="range"]::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 6px solid var(--branch-700); }
.sgl-calc-result {
  position: relative; padding: clamp(24px, 3.5vw, 48px); color: #fff;
  background: radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--branch) 45%, transparent), transparent 50%), var(--sgl-ink);
  display: flex; flex-direction: column; justify-content: center; gap: 26px;
}
.sgl-result-row { display: grid; gap: 10px; }
.sgl-result-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.sgl-result-top span { color: rgba(255, 255, 255, .75); font-size: .9375rem; }
.sgl-result-top strong { font-family: var(--font-display); font-weight: 300; font-size: clamp(2rem, 1.6rem + 1.4vw, 2.8rem); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.sgl-bar { height: 12px; border-radius: 99px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.sgl-bar i { display: block; height: 100%; width: var(--w, 0%); border-radius: inherit; background: linear-gradient(90deg, var(--branch), #7EE2C4); transition: width .8s var(--ease-out); }
.sgl-bar.sgl-alt i { background: linear-gradient(90deg, var(--sgl-orange), #F2A66B); }
.sgl-result-hint { font-size: .8125rem; color: rgba(255, 255, 255, .65); margin: 0; }
.sgl-calc-disclaimer { font-size: .78rem; color: rgba(255, 255, 255, .5); margin: 0; border-top: 1px solid rgba(255, 255, 255, .12); padding-top: 16px; }

/* ---------- Porquê SGL ---------- */
.sgl-why { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(32px, 5vw, 80px); align-items: center; }
.sgl-why-media { position: relative; }
.sgl-why-media .sgl-ph { aspect-ratio: 4 / 5; }
.sgl-why-photo { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 72% 30%; border-radius: var(--r-lg); box-shadow: var(--shadow-lg); }
.sgl-why-badge {
  position: absolute; right: -18px; bottom: 36px; padding: 18px 22px; border-radius: 20px; background: var(--sgl-surface);
  box-shadow: var(--shadow-lg); display: flex; align-items: center; gap: 14px; animation: sgl-bob 7s ease-in-out infinite;
}
.sgl-why-badge .sgl-big { font-family: var(--font-display); font-weight: 300; font-size: 2.6rem; line-height: 1; color: var(--sgl-ink); letter-spacing: -.03em; }
.sgl-why-badge small { color: var(--sgl-muted); font-size: .8125rem; line-height: 1.3; display: block; }
.sgl-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 32px; margin: 36px 0 40px; padding: 30px 0; border-block: 1px solid var(--sgl-line); }
.sgl-values { display: grid; gap: 18px; list-style: none; }
.sgl-values li { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; }
.sgl-values .sgl-ico { width: 46px; height: 46px; border-radius: 14px; }
.sgl-values .sgl-ico .sgl-icon { width: 22px; height: 22px; }
.sgl-values strong { display: block; color: var(--sgl-ink); font-family: var(--font-display); font-weight: 600; font-size: 1.05rem; }
.sgl-values span { color: var(--sgl-muted); font-size: .96rem; }

.sgl-quotes { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: clamp(48px, 6vw, 80px); }
.sgl-quote { margin: 0; }
.sgl-quote blockquote { margin: 14px 0 20px; font-family: var(--font-display); font-weight: 300; font-size: clamp(1.2rem, 1.05rem + .6vw, 1.5rem); line-height: 1.4; color: var(--sgl-ink); letter-spacing: -.01em; }
.sgl-quote figcaption { display: flex; align-items: center; gap: 12px; font-weight: 700; color: var(--sgl-ink); font-size: .9375rem; }
.sgl-quote figcaption small { display: block; font-weight: 600; color: var(--sgl-muted); font-size: .8125rem; }
.sgl-avatar { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-display); font-weight: 600; background: var(--branch-50); color: var(--branch-700); }

/* ---------- FAQ layout ---------- */
.sgl-faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.sgl-faq-aside { position: sticky; top: calc(var(--header-h) + 32px); }
.sgl-faq-aside .sgl-card { margin-top: 28px; }
.sgl-faq-aside .sgl-card p { margin-bottom: 16px; }
.sgl-contact-lines { display: grid; gap: 10px; margin-top: 8px; }
.sgl-contact-lines a { display: inline-flex; align-items: center; gap: .6em; font-weight: 700; color: var(--sgl-ink); text-decoration: none; }
.sgl-contact-lines a:hover { color: var(--branch-700); }
.sgl-contact-lines .sgl-icon { color: var(--branch-600); }

/* ---------- CTA final ---------- */
.sgl-final-cta {
  position: relative; overflow: hidden; border-radius: var(--r-xl); color: #fff; isolation: isolate;
  padding: clamp(40px, 6vw, 88px) clamp(24px, 6vw, 88px);
  background: radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--branch) 55%, transparent), transparent 45%),
              radial-gradient(circle at 10% 110%, color-mix(in srgb, var(--sgl-teal) 60%, transparent), transparent 50%),
              var(--sgl-ink);
  display: grid; grid-template-columns: 1.4fr .6fr; gap: 40px; align-items: center;
}
.sgl-final-cta h2 { color: #fff; max-width: 16ch; }
.sgl-final-cta p { color: rgba(255, 255, 255, .75); font-size: 1.125rem; max-width: 36em; }
.sgl-final-cta .sgl-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.sgl-final-cta .sgl-btn-ghost { --fg: #fff; --sweep: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); }
.sgl-final-cta .sgl-ecg-bg { position: absolute; inset: auto 0 18% 0; z-index: -1; opacity: .35; }
.sgl-final-cta .sgl-ecg-bg path { stroke-dasharray: 600 2400; animation: sgl-ecg 6s linear infinite; }
.sgl-consultant { text-align: center; }
.sgl-consultant .sgl-ph { width: min(220px, 100%); aspect-ratio: 1; border-radius: 50%; margin: 0 auto 14px; border-color: rgba(255, 255, 255, .35); padding: 16px; font-size: .75rem; }
.sgl-consultant .sgl-ph-inner { padding: 10px 12px; }
.sgl-consultant-photo { width: min(220px, 100%); height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 50%; margin: 0 auto 14px; border: 4px solid rgba(255, 255, 255, .18); box-shadow: 0 24px 48px -20px rgba(0, 0, 0, .55); }
.sgl-consultant p { font-size: .9375rem; margin: 0; }
.sgl-consultant .sgl-online { display: inline-flex; align-items: center; gap: .5em; font-weight: 700; color: #7EE2C4; font-size: .875rem; }
.sgl-consultant .sgl-online::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #7EE2C4; box-shadow: 0 0 0 4px rgba(126, 226, 196, .2); }

/* ---------- Colunas fixas em desktop (sticky) ----------
   A coluna da esquerda fica parada enquanto a da direita faz scroll:
   hero (texto + fotografia ↔ formulário), Porquê SGL (fotografia ↔ texto) e FAQ (já existente). */
@media (min-width: 961px) {
  .sgl-why { align-items: start; }
  .sgl-why-media { position: sticky; top: 112px; }
  .sgl-why-media .sgl-ph, .sgl-why-media .sgl-why-photo { aspect-ratio: auto; height: min(540px, calc(100vh - 190px)); }
}
/* No hero, a coluna ocupa a altura do ecrã e a fotografia ajusta-se ao espaço que sobra */
@media (min-width: 961px) and (min-height: 680px) {
  .sgl-hero-left {
    position: sticky; top: 100px; height: calc(100vh - 124px);
    display: flex; flex-direction: column;
  }
  .sgl-hero-more { flex: 1; min-height: 0; display: flex; flex-direction: column; margin-top: 28px; }
  .sgl-hero-photo { flex: 1; min-height: 220px; aspect-ratio: auto; }
  .sgl-hero-points { margin-top: 20px; }
}

/* ---------- Responsivo ---------- */
@media (max-width: 1080px) {
  .sgl-bento { grid-template-columns: repeat(2, 1fr); }
  .sgl-glossary { grid-template-columns: repeat(2, 1fr); }
  .sgl-hero-grid { grid-template-columns: minmax(0, 1fr) 420px; gap: 32px; }
  .sgl-hero-points .sgl-checklist { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
  .sgl-hero-grid { grid-template-columns: 1fr; gap: 20px; }
  .sgl-hero-left { display: contents; }
  .sgl-hero-copy { order: 1; }
  .sgl-sim { order: 2; }
  .sgl-hero-more { order: 3; margin-top: 28px; }
  .sgl-hero-points .sgl-checklist { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sgl-profile, .sgl-why, .sgl-faq-layout, .sgl-calc { grid-template-columns: 1fr; }
  .sgl-faq-aside { position: static; }
  .sgl-final-cta { grid-template-columns: 1fr; }
  .sgl-consultant { display: none; }
  .sgl-why-badge { right: 12px; }
}
@media (max-width: 720px) {
  .sgl-hero { padding-top: calc(var(--header-h) + 10px); }
  .sgl-hero-photo { aspect-ratio: 4 / 3.3; }
  .sgl-fc-1 { left: 10px; top: 10px; padding: 6px 10px 6px 6px; }
  .sgl-fc-1 small { display: none; }
  .sgl-fc-1 .sgl-fc-ico { width: 28px; height: 28px; }
  .sgl-fc-2 { display: none; }
  .sgl-heart-badge { width: 52px; height: 52px; top: -18px; right: 12%; }
  .sgl-heart-badge svg { width: 24px; height: 24px; }
  .sgl-rating { left: 12px; bottom: 12px; padding: 8px 12px 8px 10px; }
  .sgl-rating strong { font-size: 1.3rem; }
  .sgl-hero-points .sgl-checklist { grid-template-columns: 1fr; }
  .sgl-h1-kicker { margin-bottom: .7rem; font-size: .85rem; }
  .sgl-hero h1 { font-size: clamp(2rem, 1.4rem + 3vw, 2.5rem); margin-bottom: .4em; }
  .sgl-hero .sgl-lead { font-size: 1rem; }
  .sgl-sim-head { padding: 18px 16px 14px; }
  .sgl-sim-foot { padding: 12px 16px; }
  .sgl-sim-card { border-radius: var(--r-md); }
  .sgl-bento { grid-template-columns: 1fr; }
  .sgl-bento .sgl-card-feature { grid-column: auto; grid-template-columns: 1fr; min-height: 0; }
  .sgl-card-feature .sgl-feature-art { display: none; }
  .sgl-glossary, .sgl-quotes { grid-template-columns: 1fr; }
  .sgl-stats { grid-template-columns: 1fr 1fr; }
  .sgl-versus { grid-template-columns: 1fr; }
  .sgl-versus-vs { margin: -28px auto; }
}
@media (max-width: 400px) {
  .sgl-sim-badge { display: none; }
}

/* ---------- Seguradoras (lista transversal; cada ramo escolhe as que mostra) ---------- */
/* Faixa de seguradoras */
.sgl-marquee-insurers { display: flex; align-items: center; gap: 0; padding: 18px 0; -webkit-mask-image: none; mask-image: none; }
.sgl-marquee-view { flex: 1; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.sgl-marquee-label {
  flex: none; margin: 0; padding: 0 28px 0 clamp(16px, 4vw, 48px); font-size: .75rem; font-weight: 800; letter-spacing: .14em;
  text-transform: uppercase; color: var(--branch-700); white-space: nowrap;
}
.sgl-marquee-insurers .sgl-marquee-track { animation-duration: 36s; }
.sgl-marquee-insurers li { font-weight: 500; font-size: clamp(1.1rem, 1rem + .5vw, 1.45rem); letter-spacing: -.01em; }
.sgl-insurers-wrap { margin: 0 auto clamp(40px, 5vw, 64px); text-align: center; scroll-margin-top: 120px; }
.sgl-insurers-title { font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--sgl-muted); margin: 0 0 18px; }
.sgl-insurers { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0; padding: 0; }
.sgl-insurer {
  display: grid; place-items: center; min-width: 170px; padding: 18px 26px; border-radius: var(--r-md); background: var(--sgl-bg);
  border: 1px solid var(--sgl-line); transition: transform .5s var(--ease-spring), border-color .3s, background-color .3s;
}
.sgl-insurer span { font-family: var(--font-display); font-weight: 500; font-size: 1.15rem; color: var(--sgl-ink); letter-spacing: -.01em; }
.sgl-insurer:hover { transform: translateY(-4px); border-color: var(--branch-600); background: #fff; }
.sgl-insurers-why { margin: clamp(48px, 6vw, 80px) auto 0; }
@media (max-width: 720px) {
  .sgl-marquee-insurers { flex-direction: column; align-items: stretch; gap: 10px; }
  .sgl-marquee-label { padding-left: 16px; }
  .sgl-insurer { min-width: 0; flex: 1 1 40%; padding: 14px 16px; }
}

/* Ramo Saúde: menta clínica */
.sgl {
  --branch: #1FB58F;
  --branch-600: #139A7B;
  --branch-700: #0B7A62;
  --branch-100: #C9EFE2;
  --branch-50: #E8F8F2;
}
