/* Frio Mais — ajustes sobre o template. Cores: ver identidade.md (extraídas da arte do cartão). */
/* Fonte Gutica (única fonte de texto do site). WOFF2 primeiro (~45% menor); o OTF fica só de reserva. */
@font-face { font-family: "Gutica"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/gutica-regular/Gutica-Regular-Exfontdd8e.woff2") format("woff2"), url("../fonts/gutica-regular/Gutica-Regular-Exfontdd8e.otf") format("opentype"); }
@font-face { font-family: "Gutica"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/gutica-medium/Gutica-Medium-Exfont9f54.woff2") format("woff2"), url("../fonts/gutica-medium/Gutica-Medium-Exfont9f54.otf") format("opentype"); }
@font-face { font-family: "Gutica"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/gutica-semi-bold/Gutica-SemiBold-Exfontab42.woff2") format("woff2"), url("../fonts/gutica-semi-bold/Gutica-SemiBold-Exfontab42.otf") format("opentype"); }
@font-face { font-family: "Gutica"; font-weight: 700 900; font-style: normal; font-display: swap; src: url("../fonts/gutica-bold/Gutica-Bold-Exfont07f6.woff2") format("woff2"), url("../fonts/gutica-bold/Gutica-Bold-Exfont07f6.otf") format("opentype"); }
:root {
  --fm-navy: #012563;
  --fm-blue: #033281;
  --fm-accent: #0370CB;
  --title-font: "Gutica", sans-serif;
  --body-font: "Gutica", sans-serif;
  --title-font-color: #012563;
  --title-font-weight: 700;
  --bs-font-sans-serif: "Gutica", sans-serif;
  --bs-body-font-family: "Gutica", sans-serif;
}
* { --title-font: "Gutica", sans-serif; --body-font: "Gutica", sans-serif; --title-font-color: #012563; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body, h1, h2, h3, h4, h5, p, a, li, span { font-family: "Gutica", sans-serif; }
h1, h2, h3, h4, h5 { color: var(--fm-navy); }
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4, .section-dark h5 { color: #fff; }

.fm-logo { display: inline-flex; text-decoration: none; }
.fm-logo img { display: block; width: 112px; height: auto; }
.fm-logo-foot img { display: block; width: 180px; height: auto; }

/* topbar e header */
#topbar { background: var(--fm-navy); }
header.smaller.scroll-light .btn-main.bg-color-2 { background: var(--fm-blue); }
.fm-tbc { display: inline-block; background: rgba(3,112,203,.12); color: var(--fm-accent); border: 1px dashed var(--fm-accent); border-radius: 999px; padding: 0 9px; font-size: .78em; font-weight: 600; line-height: 1.7; white-space: nowrap; vertical-align: baseline; }
#topbar .fm-tbc, .fm-tbc-light { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.6); }

/* hero — sala, aparelho e objetos de primeiro plano */
.fm-hero { position: relative; margin: .75rem; border-radius: 1.5rem 1.5rem 1.5rem 0; overflow: clip; overflow-clip-margin: 2px; height: calc(100svh - 1.5rem); min-height: 880px; background: var(--fm-navy); isolation: isolate; }
.fm-hero-scene { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.fm-hero-room { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.12); }
.fm-hero-ac { position: absolute; top: 14%; left: 0; right: 0; margin: 0 auto; width: min(48vw, 690px); height: auto; filter: drop-shadow(0 5px 7px rgba(0,0,0,.3)); }
.fm-hero-foreground-layer { position: absolute; inset: 0; overflow: hidden; }
.fm-hero-pendant { position: absolute; left: -4%; top: -2%; width: min(42vw, 580px); height: auto; opacity: .95; filter: blur(3px) brightness(1.7); transform-origin: 50% 0; }
.fm-hero-foreground { position: absolute; right: -3%; bottom: -10%; width: min(52vw, 780px); height: auto; opacity: .8; filter: blur(8px); transform-origin: 100% 100%; }
.fm-hero-overlay { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(1,22,35,.68) 0%, transparent 25%); }
.fm-hero-wrap { position: relative; z-index: 3; width: 100%; padding: clamp(195px, 29vh, 270px) 0 120px; }
.fm-hero-center { display: flex; flex-direction: column; align-items: center; text-align: center; }
.fm-demo-pill { display: inline-block; line-height: 1.4; max-width: 100%; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.35); color: #fff; border-radius: 999px; padding: 4px 14px; font-size: 12px; font-weight: 600; margin-bottom: 18px; }
.fm-h1 { color: #fff; font-size: clamp(42px, 4vw, 58px); line-height: 1.12; font-weight: 700; letter-spacing: -.06em; margin: 0 0 16px; max-width: 980px; }
.fm-dim { opacity: .95; }
.fm-lead { font-size: 18px; line-height: 1.5; letter-spacing: -.02em; color: #fff; max-width: 780px; margin: 0 auto 32px; }
.fm-cta-row { display: flex; justify-content: center; }
.fm-organic { --surface: #fff; --label: var(--fm-navy); display: inline-flex; align-items: stretch; height: 44px; min-width: 218px; color: var(--label); font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; transition: transform .2s; }
.fm-organic-main, .fm-organic-end { display: inline-flex; align-items: stretch; height: 100%; }
.fm-organic-main { flex: 1; }
.fm-organic-end { margin-left: -1px; }
.fm-organic-round, .fm-organic-wall { display: block; flex: none; height: 100%; width: auto; fill: var(--surface); }
.fm-organic-end > .fm-organic-wall { margin-right: -1px; }
.fm-organic-end > .fm-organic-round { margin-left: -1px; }
.fm-organic-label, .fm-organic-icon { display: inline-flex; align-items: center; background: var(--surface); color: var(--label); }
.fm-organic-label { flex: 1; padding: 0 8px; margin: 0 -1px; position: relative; }
.fm-organic-round, .fm-organic-wall { position: relative; z-index: 1; }
.fm-organic-main > .fm-organic-round { margin-right: -1px; }
.fm-organic-main > .fm-organic-wall { margin-left: -1px; }
.fm-organic-label, .fm-organic-icon { z-index: 2; }
.fm-organic-icon { justify-content: center; padding: 0 2px; transition: padding .4s ease; }
.fm-organic-icon svg { width: 16px; height: 16px; transition: transform .2s; }
.fm-organic:hover .fm-organic-icon { padding: 0 10px; }
.fm-organic:hover .fm-organic-icon svg { transform: rotate(45deg) scale(1.1); }
.fm-organic:active { transform: scale(.96); }
.fm-organic:focus-visible { outline: 3px solid var(--fm-accent); outline-offset: 4px; }
html.anim .fm-organic.rv:not(.done) { transition: none; }
html.anim .fm-organic.rv.in:not(.done) { animation: fm-organic-in .7s var(--d) both; }
html.anim .fm-organic.rv:not(.done) .fm-organic-copy, html.anim .fm-organic.rv:not(.done) .fm-organic-icon svg { opacity: 0; }
html.anim .fm-organic.rv.in:not(.done) .fm-organic-copy { animation: fm-organic-copy-in .5s calc(var(--d) + 140ms) both; }
html.anim .fm-organic.rv.in:not(.done) .fm-organic-icon svg { animation: fm-organic-icon-in .5s calc(var(--d) + 320ms) both; }
@keyframes fm-organic-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes fm-organic-copy-in { from { opacity: 0; translate: -12px 0; } to { opacity: 1; translate: 0 0; } }
@keyframes fm-organic-icon-in { from { opacity: 0; translate: -8px 8px; } to { opacity: 1; translate: 0 0; } }
.subtitle.s2 { color: #fff; }

html.anim .fm-hero:not(.text-ready) .fm-hero-wrap, html.anim .fm-hero:not(.text-ready) .fm-rating, html.anim .fm-hero:not(.text-ready) .fm-hero-notch { opacity: 0; }
html.anim .fm-hero-room { opacity: .3; transform: translate3d(0,14%,0) scale(1.5); }
html.anim .fm-hero-ac { scale: 1.08; translate: 0 -150px; }
html.anim .fm-hero-pendant { translate: -240px -220px; }
html.anim .fm-hero-foreground { translate: 0 360px; }
html.anim .fm-hero.scene-ready .fm-hero-room { animation: fm-room-out 3s cubic-bezier(.18,.7,.18,1) both; }
html.anim .fm-hero.scene-ready .fm-hero-ac { animation: fm-ac-zoom 2.8s cubic-bezier(.22,.61,.36,1) both, fm-ac-rise 2.8s cubic-bezier(.22,.61,.36,1) both; }
html.anim .fm-hero.scene-ready .fm-hero-pendant { animation: fm-pendant-in 2.2s .5s cubic-bezier(.22,.61,.36,1) both, fm-pendant-sway 6s 2.7s ease-in-out infinite alternate both; }
html.anim .fm-hero.scene-ready .fm-hero-foreground { animation: fm-foreground-in 2.2s .8s cubic-bezier(.22,.61,.36,1) both, fm-foreground-sway 7s 3s ease-in-out infinite alternate; }
/* sala: sobe de baixo para cima enquanto o zoom out acontece; o deslocamento (14%) fica sempre dentro da sobra gerada pelo scale, então nunca expõe borda */
@keyframes fm-room-out { 60% { opacity: 1; } to { opacity: 1; transform: translate3d(0,0,0) scale(1.12); } }
/* aparelho: desce suavemente de cima até a posição, com zoom-out leve e fade, sem overshoot */
@keyframes fm-ac-zoom { to { scale: 1; } }
@keyframes fm-ac-rise { from { translate: 0 -150px; } to { translate: 0 0; } }
@keyframes fm-ac-fade { to { opacity: 1; } }
@keyframes fm-pendant-in { to { translate: 0 0; } }
@keyframes fm-foreground-in { to { translate: 0 0; } }
@keyframes fm-pendant-sway { from { transform: translate3d(-7px,0,0) rotate(-1.5deg); } to { transform: translate3d(7px,4px,0) rotate(1.5deg); } }
@keyframes fm-foreground-sway { to { transform: translate3d(-18px,-12px,0) rotate(-2deg); } }
/* hero fora da tela: o balanço contínuo (com blur) para de gastar GPU; js/site.js marca .is-offscreen */
html.anim .fm-hero.scene-ready.is-offscreen .fm-hero-pendant, html.anim .fm-hero.scene-ready.is-offscreen .fm-hero-foreground { animation-play-state: paused; }

/* recorte no canto inferior esquerdo com o card da descrição */
.fm-hero-notch { --r: 1.5rem; --gap: 10px; --page: #fff; --w: min(400px, 100%); position: absolute; left: -2px; bottom: -2px; z-index: 4; width: calc(var(--w) + 2px); padding: var(--gap) var(--gap) calc(var(--gap) + 2px) calc(var(--gap) + 2px); background: var(--page); border-top-right-radius: var(--r); }
.fm-hero-notch::before, .fm-hero-notch::after { content: ""; position: absolute; width: var(--r); height: var(--r); pointer-events: none; background: radial-gradient(circle at 100% 0, transparent calc(var(--r) - .5px), var(--page) var(--r)); }
.fm-hero-notch::before { left: 0; bottom: calc(100% - 1px); width: calc(var(--r) + 1px); height: calc(var(--r) + 1px); }
.fm-hero-notch::after { left: calc(100% - 1px); bottom: 0; width: calc(var(--r) + 1px); height: calc(var(--r) + 2px); }
.fm-hero-notch .fm-lead { margin: 0; max-width: none; padding: 18px 22px; font-size: 15px; text-align: left; background: var(--fm-navy); border-radius: calc(var(--r) - var(--gap)); }

/* nota */
.fm-rating { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; padding: 3rem 0 1.5rem; }
.fm-rating-text { color: #fff; font-size: 15px; }
.fm-rating-stars { margin-top: .4rem; color: #F1EE46; font-size: 16px; display: flex; gap: 4px; }

/* seções */
.fm-section { padding: 90px 0; }
.fm-section .lead { color: #4a5d73; }
/* cards de serviço: cutout card (Cult UI) — rótulo e pino recortados na foto, cantos côncavos feitos com radial-gradient */
.fm-card { --r: 24px; --lr: 20px; --pr: 16px; --surface: #fff; position: relative; isolation: isolate; display: flex; flex-direction: column; height: 100%; overflow: hidden; background: var(--surface); border-radius: var(--r); }
.fm-card-media { position: relative; aspect-ratio: 4 / 3; }
.fm-card-photo { position: absolute; inset: 0; overflow: hidden; background: #dfe7f2; }
.fm-card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* rótulo embutido no canto inferior esquerdo, com a cor do card */
.fm-card-label { margin: 0; position: absolute; left: 0; bottom: -1px; z-index: 1; padding: 11px 20px 12px 22px; background: var(--surface); border-top-right-radius: var(--lr); color: #033281; font-family: inherit; font-size: 24px; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.fm-card-label::before, .fm-card-label::after { content: ""; position: absolute; width: calc(var(--lr) + 1px); height: calc(var(--lr) + 1px); pointer-events: none; background: radial-gradient(circle at 100% 0, transparent calc(var(--lr) - .5px), var(--surface) var(--lr)); }
.fm-card-label::before { left: 0; bottom: calc(100% - 1px); }
.fm-card-label::after { left: calc(100% - 1px); bottom: 0; }
/* pino no canto superior direito */
.fm-card-pin { --pin: var(--fm-blue); position: absolute; top: 0; right: 0; z-index: 1; display: flex; align-items: center; justify-content: center; width: 52px; height: 46px; padding-left: 4px; background: var(--pin); color: #fff; border-bottom-left-radius: var(--pr); box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset; }
.fm-card-pin svg { width: 22px; height: 22px; }
.fm-card-pin path { stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fm-card-pin::before, .fm-card-pin::after { content: ""; position: absolute; width: calc(var(--pr) + 1px); height: calc(var(--pr) + 1px); pointer-events: none; background: radial-gradient(circle at 0 100%, transparent calc(var(--pr) - .5px), var(--pin) var(--pr)); }
.fm-card-pin::before { right: calc(100% - 1px); top: 0; }
.fm-card-pin::after { right: 0; top: calc(100% - 1px); }
.fm-card-body { display: flex; flex: 1; flex-direction: column; padding: 14px 22px 22px; }
.fm-card-body h4 { margin-bottom: 8px; font-size: 21px; letter-spacing: -.02em; text-wrap: balance; }
.fm-card-body p { margin: 0 0 20px; color: #4a5d73; line-height: 1.6; text-wrap: pretty; }
.fm-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(1,37,99,.10); }
.fm-card-footer span { color: var(--fm-navy); font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.fm-card-action { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--fm-blue); color: #fff; transition: transform .15s cubic-bezier(.23,1,.32,1), background-color .2s; }
.fm-card-action svg { width: 18px; height: 18px; transition: transform .25s cubic-bezier(.23,1,.32,1); }
.fm-card:hover .fm-card-action, .fm-card-action:hover { background: var(--fm-accent); color: #fff; }
.fm-card:hover .fm-card-action svg { transform: rotate(45deg) scale(1.1); }
.fm-card:active .fm-card-action svg { transform: scale(.88); }
.fm-card-action:focus-visible { outline: none; }
.fm-card-action::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: var(--r); }
.fm-card { cursor: pointer; }
.fm-card:has(.fm-card-action:focus-visible) { outline: 3px solid var(--fm-accent); outline-offset: 3px; }
/* entrada do texto em sequência quando o card aparece (html.anim; o reveal do card vem de js/anim.js) */
html.anim .fm-card.rv:not(.done) .fm-card-body > * { opacity: 0; translate: 0 12px; transition: opacity .5s ease, translate .6s var(--rv-ease); transition-delay: calc(var(--d, 0ms) + 260ms); }
html.anim .fm-card.rv:not(.done) .fm-card-body > :nth-child(2) { transition-delay: calc(var(--d, 0ms) + 350ms); }
html.anim .fm-card.rv:not(.done) .fm-card-body > :nth-child(3) { transition-delay: calc(var(--d, 0ms) + 440ms); }
html.anim .fm-card.rv.in:not(.done) .fm-card-body > * { opacity: 1; translate: 0 0; }
.fm-strip { display: flex; gap: 16px; align-items: center; background: var(--fm-navy); color: #fff; border-radius: 14px; padding: 20px 24px; }
.fm-strip i { font-size: 28px; color: #8CC6FF; flex: none; }
.fm-strip p { margin: 0; color: #fff; }
.fm-strip .fm-tbc { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.6); }

/* para quem atende: bloco marinho recortado como a hero; sanfona em tipografia grande + foto que troca junto */
.fm-section.fm-who { --r: 1.5rem; position: relative; isolation: isolate; margin: 0 .75rem; padding: 110px 0 100px; border-radius: var(--r); background: #fff; color: var(--fm-navy); overflow: clip; }
.fm-who h2 { color: var(--fm-navy); font-size: clamp(32px, 3.4vw, 48px); line-height: 1.08; letter-spacing: -.04em; margin: 0; text-wrap: balance; }
.fm-who .lead { color: #4a5d73; font-size: 17px; line-height: 1.55; }

/* foto */
.fm-who-stage { --who-clip: url(#fm-who-clip-desktop); position: relative; margin: 0; aspect-ratio: 4 / 5; overflow: hidden; clip-path: var(--who-clip); background: #eaf1fa; }
html.anim .fm-who-stage.rv.in { clip-path: var(--who-clip); }
.fm-who-shot { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .7s ease; }
.fm-who-shot.is-on { opacity: 1; }

/* sanfona */
.fm-who-list { border-bottom: 1px solid rgba(1,37,99,.14); }
.fm-who-item { position: relative; border-top: 1px solid rgba(1,37,99,.14); }
.fm-who-head { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px; width: 100%; padding: 22px 0; background: none; border: 0; color: var(--fm-navy); text-align: left; cursor: pointer; }
.fm-who-head:focus-visible { outline: 3px solid var(--fm-accent); outline-offset: 4px; border-radius: 8px; }
.fm-who-title { display: flex; flex-wrap: wrap; align-items: center; column-gap: 18px; row-gap: 2px; }
.fm-who-tab-icon { flex: none; width: 30px; height: 30px; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; opacity: .65; }
.fm-who-name { font-size: clamp(30px, 3.6vw, 52px); font-weight: 700; line-height: 1.05; letter-spacing: -.045em; opacity: .4; transition: opacity .35s ease, translate .5s cubic-bezier(.2,.7,.2,1); }
.fm-who-hint { color: #5d6f86; font-size: 15px; transition: color .35s ease; }
.fm-who-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(1,37,99,.3); color: var(--fm-navy); transition: background-color .3s, border-color .3s, color .3s; }
.fm-who-icon svg { width: 18px; height: 18px; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.fm-who-head:hover .fm-who-name { opacity: .75; }
.fm-who-item.is-open .fm-who-name { opacity: 1; translate: 6px 0; }
.fm-who-item.is-open .fm-who-tab-icon { color: var(--fm-accent); opacity: 1; }
.fm-who-item.is-open .fm-who-hint { color: var(--fm-accent); }
.fm-who-item.is-open .fm-who-icon { background: var(--fm-navy); border-color: var(--fm-navy); color: #fff; }
.fm-who-item.is-open .fm-who-icon svg { transform: rotate(90deg); }
/* painel: a altura anima por grid-template-rows (0fr → 1fr); sem JS todos ficam abertos */
.fm-who-panel { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .55s cubic-bezier(.2,.7,.2,1); }
.fm-who-js .fm-who-item:not(.is-open) .fm-who-panel { grid-template-rows: 0fr; }
.fm-who-body { min-height: 0; overflow: hidden; padding-left: 68px; }
.fm-who-body > * { transition: opacity .4s ease, translate .5s cubic-bezier(.2,.7,.2,1); }
.fm-who-js .fm-who-item:not(.is-open) .fm-who-body > * { opacity: 0; translate: 0 10px; }
.fm-who-js .fm-who-item.is-open .fm-who-body > * { transition-delay: .12s; }
.fm-who-body p { max-width: 560px; margin: 0 0 18px; color: #3d4f66; line-height: 1.6; text-wrap: pretty; }
.fm-who-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; }
.fm-who-tags li { padding: 5px 12px; border: 1px solid rgba(1,37,99,.22); border-radius: 999px; color: var(--fm-navy); font-size: 13px; font-weight: 500; }
.fm-who-cta { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 26px; color: var(--fm-accent); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.fm-who-cta svg { width: 16px; height: 16px; transition: transform .25s cubic-bezier(.23,1,.32,1); }
.fm-who-cta:hover { color: var(--fm-navy); }
.fm-who-cta:hover svg { transform: rotate(45deg); }
/* barra de progresso do avanço automático */
.fm-who-bar { position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--fm-accent); transform: scaleX(0); transform-origin: 0 50%; pointer-events: none; }
.fm-who-item.is-timing .fm-who-bar { animation: fm-who-bar var(--who-dur, 7s) linear both; }
@keyframes fm-who-bar { to { transform: scaleX(1); } }

/* faixa do PMOC */
.fm-who-pmoc { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 36px; margin-top: 64px; padding: 30px 34px; border-radius: 24px; background: var(--fm-navy); color: #fff; }
.fm-who-pmoc-mark { display: flex; flex-direction: column; padding-right: 36px; border-right: 1px solid rgba(255,255,255,.2); }
.fm-who-pmoc-mark strong { color: #fff; font-size: 64px; font-weight: 700; line-height: .9; letter-spacing: -.06em; }
.fm-who-pmoc-mark span { max-width: 180px; margin-top: 8px; color: #fff; font-size: 12px; line-height: 1.35; }
.fm-who-pmoc-text h3 { margin: 0 0 6px; font-size: 22px; line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.fm-who-pmoc-text p { margin: 0; color: rgba(255,255,255,.8); line-height: 1.55; }
.fm-organic.fm-organic-dark { --surface: var(--fm-blue); --label: #fff; }
.fm-organic.fm-organic-dark:hover { color: #fff; }
.fm-who-pmoc .fm-organic { --surface: #fff; --label: var(--fm-navy); }
.fm-who-pmoc .fm-organic:hover { color: var(--fm-navy); }
.fm-who-pmoc .fm-organic:hover .fm-organic-icon { padding: 0 2px; }
@media (prefers-reduced-motion: reduce) {
  .fm-who-shot, .fm-who-panel, .fm-who-body > *, .fm-who-name { transition: none; }
}

.fm-score { font-size: 84px; font-weight: 800; color: var(--fm-blue); line-height: 1; }
.fm-stars { color: #f5b301; font-size: 24px; letter-spacing: 3px; margin: 8px 0 10px; }
#avaliacoes .fm-stars, .fm-rv-stars { display: inline-flex; gap: 4px; letter-spacing: 0; }
#avaliacoes .fm-stars i, .fm-rv-stars i { display: block; width: 1em; height: 1em; background: #f5b301; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center / contain no-repeat; }
.fm-rv-lead { max-width: 620px; margin: 16px auto 0; }
.fm-rv-sum { display: inline-flex; align-items: center; gap: 20px; margin-top: 22px; text-align: left; }
.fm-rv-sum .fm-stars { margin: 0 0 6px; }
.fm-rv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.fm-review { margin: 0; padding: 32px; border-radius: 18px; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; border: 1px solid transparent; }
.fm-review blockquote { margin: 0; padding: 0; border: 0; font-size: 17px; line-height: 1.55; font-weight: 500; color: inherit; }
.fm-rv-stars { font-size: 16px; margin-bottom: -10px; }
.fm-review figcaption { display: flex; align-items: center; gap: 14px; font-weight: 700; font-size: 16px; }
.fm-review figcaption img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 1.5px solid currentColor; flex: none; background: #fff; }
.fm-rv-blue { background: var(--fm-blue); color: #fff; }
.fm-rv-navy { background: var(--fm-navy); color: #fff; }
.fm-rv-light { background: #fff; color: var(--fm-navy); border-color: #d5dde8; }
.fm-rv-tall { grid-row: span 2; }
.fm-rv-tall blockquote { font-size: 21px; line-height: 1.5; }
.fm-rv-wide { grid-column: span 2; }
.fm-rv-wide blockquote { font-size: 21px; }
.fm-theme { background: #F4F7FB; border-radius: 12px; padding: 16px; font-weight: 600; color: var(--fm-navy); height: 100%; }
.fm-theme i { color: var(--fm-accent); margin-right: 8px; }
.fm-note { font-size: 13px; color: #6a7b8e; }

/* como pedir */
.fm-flow { list-style: none; margin: 36px 0 0; padding: 0; display: grid; gap: 16px; }
/* cada passo reaproveita o recorte do card de serviço: duas abas encaixadas nos cantos superiores */
.fm-flow-item { --r: 24px; --pr: 16px; --surface: #fff; --tab: var(--fm-blue); position: relative; isolation: isolate; overflow: hidden; border-radius: var(--r); background: var(--surface); box-shadow: 0 8px 28px rgba(1,37,99,.08); }
.fm-flow-item:nth-child(2) { --tab: var(--fm-accent); }
.fm-flow-item:nth-child(3) { --tab: var(--fm-navy); }
/* faixa do título: o azul fica só nas abas dos cantos */
.fm-flow-head { position: relative; display: flex; align-items: center; min-height: 46px; padding: 0 66px; }
.fm-flow-head h3 { margin: 0; color: var(--fm-navy); font-size: 22px; letter-spacing: -.02em; }
.fm-flow-tab { position: absolute; top: 0; z-index: 1; display: flex; align-items: center; justify-content: center; width: 52px; height: 46px; background: var(--tab); color: #fff; }
.fm-flow-tab::before, .fm-flow-tab::after { content: ""; position: absolute; width: calc(var(--pr) + 1px); height: calc(var(--pr) + 1px); pointer-events: none; }
.fm-flow-tab-l { left: 0; padding-right: 4px; border-bottom-right-radius: var(--pr); font-size: 20px; font-weight: 800; }
.fm-flow-tab-l::before, .fm-flow-tab-l::after { background: radial-gradient(circle at 100% 100%, transparent calc(var(--pr) - .5px), var(--tab) var(--pr)); }
.fm-flow-tab-l::before { left: calc(100% - 1px); top: 0; }
.fm-flow-tab-l::after { left: 0; top: calc(100% - 1px); }
.fm-flow-tab-r { right: 0; padding-left: 4px; border-bottom-left-radius: var(--pr); }
.fm-flow-tab-r::before, .fm-flow-tab-r::after { background: radial-gradient(circle at 0 100%, transparent calc(var(--pr) - .5px), var(--tab) var(--pr)); }
.fm-flow-tab-r::before { right: calc(100% - 1px); top: 0; }
.fm-flow-tab-r::after { right: 0; top: calc(100% - 1px); }
.fm-flow-tab-r svg { width: 22px; height: 22px; }
.fm-flow-tab-r path, .fm-flow-tab-r rect { stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fm-flow-item p { margin: 0; padding: 14px 24px 22px; color: #4a5d73; line-height: 1.6; }

.fm-chat { max-width: 400px; margin: 0 auto; border-radius: 40px; border: 8px solid #0a1633; overflow: hidden; background: var(--fm-navy); box-shadow: 0 24px 60px rgba(1,37,99,.28); }
.fm-chat-bar { display: flex; align-items: center; gap: 12px; padding: 18px 20px 14px; background: var(--fm-blue); color: #fff; }
.fm-chat-avatar { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: #0046ab; overflow: hidden; }
.fm-chat-avatar img { width: 36px; height: auto; max-height: 36px; object-fit: contain; display: block; }
.fm-chat-who { display: flex; flex-direction: column; line-height: 1.2; }
.fm-chat-who strong { font-size: 16px; }
.fm-chat-who small { font-size: 12px; opacity: .75; }
.fm-chat-logo { margin-left: auto; font-size: 26px; opacity: .9; }
.fm-chat-body { display: flex; flex-direction: column; gap: 12px; min-height: 380px; padding: 22px 16px 20px; background: radial-gradient(circle at 20% 0, rgba(3,112,203,.25), transparent 60%), var(--fm-navy); }
.fm-msg { position: relative; max-width: 86%; padding: 12px 16px; border-radius: 18px; font-size: 15px; line-height: 1.45; }
.fm-msg-out { align-self: flex-end; background: var(--fm-accent); color: #fff; border-bottom-right-radius: 4px; }
.fm-msg-in { align-self: flex-start; background: #fff; color: var(--fm-navy); border-bottom-left-radius: 4px; }
.fm-chat-js .fm-msg:not(.is-in) { display: none; }
.fm-chat-js .fm-msg.is-in { animation: fm-msg-pop .38s cubic-bezier(.2,.7,.2,1) both; }
.fm-msg-out.is-in { transform-origin: 100% 100%; }
.fm-msg-in.is-in { transform-origin: 0 100%; }
@keyframes fm-msg-pop { from { opacity: 0; transform: translateY(8px) scale(.92); } to { opacity: 1; transform: none; } }
.fm-typing { align-self: flex-end; display: flex; gap: 5px; padding: 14px 16px; border-radius: 18px; border-bottom-right-radius: 4px; background: var(--fm-accent); animation: fm-msg-pop .25s ease-out both; }
.fm-typing.fm-typing-in { align-self: flex-start; background: #fff; border-bottom-right-radius: 18px; border-bottom-left-radius: 4px; }
.fm-typing i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.85); animation: fm-dot 1.2s infinite ease-in-out; }
.fm-typing-in i { background: #8a9bb3; }
.fm-typing i:nth-child(2) { animation-delay: .15s; }
.fm-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes fm-dot { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-5px); opacity: 1; } }
/* campo de mensagem e teclado de celular */
.fm-chat-compose { display: flex; align-items: flex-end; gap: 10px; padding: 10px 14px; background: #0a1d4d; }
.fm-chat-field { flex: 1; min-width: 0; display: flex; align-items: center; min-height: 42px; padding: 10px 16px; border-radius: 21px; background: #fff; color: var(--fm-navy); font-size: 15px; line-height: 1.35; }
.fm-chat-typed { display: block; min-width: 0; overflow-wrap: anywhere; white-space: normal; }
.fm-chat-typed:empty::before { content: "Mensagem"; color: #8a9bb3; }
.fm-chat-typed.is-typing::after { content: ""; display: inline-block; width: 2px; height: 1.1em; margin-left: 1px; vertical-align: text-bottom; background: var(--fm-accent); animation: fm-caret .8s steps(1) infinite; }
@keyframes fm-caret { 50% { opacity: 0; } }
.fm-chat-send svg, .fm-key svg { width: 18px; height: 18px; }
.fm-chat-send svg { width: 17px; height: 17px; }
.fm-chat-send svg, .fm-key svg { stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fm-chat-send { flex: none; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--fm-accent); color: #fff; font-size: 16px; transition: transform .15s; }
.fm-chat-send.is-hit { transform: scale(.88); }
.fm-kb { display: grid; gap: 8px; padding: 10px 8px 12px; background: #11204a; border-top: 1px solid rgba(255,255,255,.06); }
.fm-kb-row { display: flex; justify-content: center; gap: 5px; }
.fm-key { flex: 1 1 0; max-width: 44px; display: flex; align-items: center; justify-content: center; height: 38px; border-radius: 8px; background: #2a3d6b; color: #fff; font-size: 16px; text-transform: uppercase; box-shadow: 0 2px 0 rgba(0,0,0,.35); transition: background-color .08s, transform .08s; }
.fm-key.is-hit { background: #fff; color: var(--fm-navy); transform: translateY(1px); }
.fm-key-fn { background: #1b2c58; font-size: 13px; text-transform: none; }
.fm-key-wide { flex: 1.5 1 0; max-width: 84px; }
.fm-key-space { flex: 5 1 0; max-width: none; text-transform: none; font-size: 13px; opacity: .9; }
.fm-key-go { background: var(--fm-accent); }
@media (max-width: 575px) { .fm-key { height: 34px; font-size: 14px; } .fm-chat-body { min-height: 300px; } }
.fm-chat-note { margin: 14px 0 0; text-align: center; font-size: 13px; color: #6a7b8e; }
@media (max-width: 575px) { .fm-msg { max-width: 90%; } }

.fm-about-img { width: 100%; border-radius: 16px; display: block; box-shadow: 0 8px 28px rgba(1,37,99,.12); }

/* onde atende: painel claro recortado como o bloco de atendimento, com o mapa no recorte dos cards */
.fm-section.fm-area { --r: 1.5rem; position: relative; isolation: isolate; margin: .75rem .75rem 0; border-radius: var(--r); background: #fff; overflow: clip; }
.fm-area h2 { font-size: clamp(30px, 3vw, 42px); line-height: 1.1; letter-spacing: -.04em; margin: 0 0 16px; text-wrap: balance; }
.fm-area .lead { font-size: 17px; line-height: 1.55; }
.fm-area-left { display: flex; flex-direction: column; }
.fm-area-points { list-style: none; margin: 32px 0 28px; padding: 0; }
.fm-area-points li { display: flex; align-items: flex-start; gap: 16px; padding: 16px 0; border-top: 1px solid rgba(1,37,99,.10); }
.fm-area-points li:last-child { border-bottom: 1px solid rgba(1,37,99,.10); }
.fm-area-icon { display: flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 14px; background: var(--fm-blue); color: #fff; }
.fm-area-points li:nth-child(2) .fm-area-icon { background: var(--fm-accent); }
.fm-area-points li:nth-child(3) .fm-area-icon { background: var(--fm-navy); }
.fm-area-icon svg { width: 22px; height: 22px; }
.fm-area-icon path, .fm-area-icon circle, .fm-area-icon rect { stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fm-area-points h3 { margin: 2px 0 2px; font-size: 18px; letter-spacing: -.02em; }
.fm-area-points p { margin: 0; color: #4a5d73; line-height: 1.5; }
.fm-area-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; margin-top: auto; padding: 24px; border-radius: 24px; background: var(--fm-navy); color: #fff; }
.fm-area-cta p { margin: 0; color: rgba(255,255,255,.78); line-height: 1.5; }
.fm-area-cta strong { display: block; margin-bottom: 2px; color: #fff; font-size: 18px; letter-spacing: -.02em; }
.fm-area-cta .fm-organic:hover { color: var(--fm-navy); }

.fm-map { --r: 24px; --pr: 16px; position: relative; display: flex; flex-direction: column; height: 100%; margin: 0; overflow: hidden; border-radius: var(--r); background: #fff; box-shadow: 0 8px 28px rgba(1,37,99,.08); }
.fm-map-frame { position: relative; flex: 1; min-height: 440px; background: #dfe7f2; }
.fm-map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.fm-map-pin { transition: background-color .2s; }
.fm-map-pin:hover { --pin: var(--fm-accent); color: #fff; }
.fm-map-pin:focus-visible { outline: 3px solid var(--fm-accent); outline-offset: -6px; }
.fm-map-pin circle { stroke: currentColor; stroke-width: 1.8; }
/* rodapé inteiro clicável: o ::after do botão cobre a faixa (position: relative aqui) */
.fm-map-foot { position: relative; display: flex; align-items: center; gap: 16px; padding: 18px 22px; border-top: 1px solid rgba(1,37,99,.10); cursor: pointer; }
.fm-map-info { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0; }
.fm-map-info strong { color: var(--fm-navy); font-size: 18px; letter-spacing: -.02em; }
.fm-map-rate { display: inline-flex; align-items: center; gap: 10px; color: #4a5d73; font-size: 14px; font-weight: 600; }
.fm-map-rate .fm-rv-stars { margin: 0; font-size: 14px; }
.fm-map-open { color: var(--fm-navy); font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.fm-map-foot .fm-card-action::after { border-radius: 0 0 var(--r) var(--r); }
.fm-map-foot:hover .fm-card-action { background: var(--fm-accent); }
.fm-map-foot:hover .fm-card-action svg { transform: rotate(45deg) scale(1.1); }
.fm-map-foot:has(.fm-card-action:focus-visible) { outline: 3px solid var(--fm-accent); outline-offset: -3px; border-radius: 0 0 var(--r) var(--r); }

.fm-cta { position: relative; padding: 330px 0 80px; overflow: hidden; background: #fff; text-align: center; }
.fm-cta-content { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
.fm-cta h2 { max-width: 700px; margin: 0 auto 22px; color: var(--fm-navy); font-size: clamp(38px, 4vw, 58px); line-height: 1.1; letter-spacing: -.055em; text-wrap: balance; }
.fm-cta .lead { max-width: 590px; margin: 0 auto 30px; color: #4a5d73; font-size: 18px; line-height: 1.55; }
.fm-cta-art { position: absolute; top: -45px; right: -20px; width: min(42vw, 560px); height: auto; pointer-events: none; }
.fm-cta-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 28px; max-width: 540px; margin: 42px auto 0; padding-top: 18px; border-top: 1px solid rgba(1,37,99,.14); color: #4a5d73; font-size: 14px; }
.fm-cta-links a { color: var(--fm-blue); font-weight: 600; text-decoration: none; }
.fm-cta-links a:hover { color: var(--fm-accent); text-decoration: underline; }
.fm-cta-links a:focus-visible { outline: 3px solid var(--fm-accent); outline-offset: 3px; }
.fm-footer { padding-top: 52px; background: var(--fm-navy); }
.fm-footer-brand { display: flex; justify-content: flex-start; }
.fm-footer-brand img { display: block; width: 190px; height: auto; }
.fm-footer-frame { position: relative; height: clamp(280px, 29vw, 350px); margin-top: 12px; isolation: isolate; }
.fm-footer-frame::before { content: ""; position: absolute; inset: 0; z-index: 0; border-radius: 22px; background: #fff; }
.fm-footer-units { position: absolute; inset: 0; z-index: 1; overflow: hidden; border-radius: 22px; pointer-events: none; }
.fm-footer-unit { position: absolute; display: block; height: auto; filter: drop-shadow(0 12px 18px rgba(1, 37, 99, .18)); }
.fm-footer-unit--inside { left: -4%; top: -32px; width: 37%; }
.fm-footer-unit--outside { right: -4%; bottom: -48px; width: 28%; }
.fm-footer-person { position: absolute; left: 50%; bottom: 0; z-index: 2; display: block; width: auto; height: clamp(440px, 42vw, 520px); max-width: none; transform: translateX(-50%); filter: drop-shadow(0 12px 20px rgba(1, 37, 99, .18)); }
.fm-footer-info { margin-top: 34px; }
.fm-footer-info h2 { margin-bottom: 14px; color: #fff; font-size: 21px; font-weight: 700; }
.fm-footer-info p, .fm-footer-info a, .fm-footer-info li { color: rgba(255,255,255,.82); font-size: 14px; line-height: 1.65; }
.fm-footer-info p { max-width: 340px; }
.fm-footer-info .widget ul { margin: 0; }
.fm-footer-info .widget li { margin-bottom: 5px; }
.fm-footer-info a:hover { color: #fff; text-decoration: underline !important; }
.fm-footer-info a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.fm-footer .subfooter { margin-top: 35px; }
@media (max-width: 767px) {
  .fm-footer-unit { display: none; }
}
@media (max-width: 575px) {
  .fm-footer { padding-top: 42px; }
  .fm-footer-brand { justify-content: center; }
  .fm-footer-brand img { width: 170px; }
  .fm-footer-frame { height: 260px; margin-top: 140px; }
  .fm-footer-frame::before { border-radius: 18px; }
  .fm-footer-person { height: 375px; }
  .fm-footer-info { margin-top: 30px; }
}
.fm-demo-foot { font-size: 12px; color: rgba(255,255,255,.7); padding: 6px 0; line-height: 1.5; }

.fm-fab { position: fixed; right: calc(20px + env(safe-area-inset-right, 0px)); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 1100; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff; box-shadow: 0 6px 20px rgba(1,37,99,.3); }
html.fm-fab-js .fm-fab { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); transition: opacity .4s ease, transform .4s ease, visibility .4s; }
html.fm-fab-js .fm-fab.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.fm-fab img { display: block; width: 30px; height: 30px; }
.fm-fab:hover { color: #fff; background: #1da851; }
.fm-fab:focus-visible { outline: 3px solid var(--fm-navy); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { html.fm-fab-js .fm-fab { transition: none; } }

/* destaques sob os serviços: rapel e garantia */
.fm-perks { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 44px; }
.fm-perk { position: relative; isolation: isolate; display: flex; min-height: 0; padding: 28px 32px; border-radius: 24px; overflow: hidden; }
.fm-perk-body { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; }
.fm-perk-tag { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.fm-perk-tag svg { width: 18px; height: 18px; }
.fm-perk-tag path, .fm-perk-tag circle, .fm-perk h3 { margin: 14px 0 8px; font-size: 23px; line-height: 1.12; letter-spacing: -.03em; text-wrap: balance; }
.fm-perk-body > :first-child { margin-top: 0; }
.fm-perk-garantia .fm-perk-big { margin-top: 0; }
.fm-perk p { margin: 0 0 16px; font-size: 15px; line-height: 1.5; }
.fm-perk-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 20px; padding: 0; list-style: none; }
.fm-perk-chips li { padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 500; }
.fm-perk-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 2px; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.fm-perk-link svg { width: 16px; height: 16px; transition: transform .25s cubic-bezier(.23,1,.32,1); }
.fm-perk-link:hover svg { transform: rotate(45deg); }

/* rapel: card escuro com a fachada ao lado */
.fm-perk-rapel { background: linear-gradient(155deg, #033281 0%, var(--fm-navy) 70%); color: #fff; align-items: stretch; gap: 28px; padding: 16px 16px 16px 32px; }
.fm-perk-rapel .fm-perk-body { flex: 1; min-width: 0; padding: 12px 0; }
.fm-perk-rapel .fm-perk-tag { background: rgba(255,255,255,.12); color: #fff; }
.fm-perk-rapel h3 { color: #fff; }
.fm-perk-rapel p { color: rgba(255,255,255,.78); }
.fm-perk-rapel .fm-perk-chips li { border: 1px solid rgba(255,255,255,.28); color: #fff; }
.fm-perk-rapel .fm-perk-link { color: #fff; }
.fm-perk-rapel .fm-perk-link:hover { color: #8cc7ff; }
.fm-perk-art { position: relative; order: 2; flex: none; align-self: stretch; width: 270px; border-radius: 16px; overflow: hidden; }
.fm-perk-art img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }

/* garantia: card claro com o 12 grande e o escudo de marca d'agua */
.fm-perk-garantia { background: #eaf1fa; color: var(--fm-navy); align-items: stretch; gap: 28px; padding: 16px 32px 16px 16px; }
.fm-perk-garantia .fm-perk-body { flex: 1; min-width: 0; padding: 12px 0; }
.fm-perk-garantia .fm-perk-art { order: 0; width: 250px; }
.fm-perk-garantia .fm-perk-tag { background: var(--fm-blue); color: #fff; }
.fm-perk-garantia h3 { color: var(--fm-navy); margin-top: 10px; }
.fm-perk-garantia p { color: #4a5d73; }
.fm-perk-garantia .fm-perk-chips li { border: 1px solid rgba(1,37,99,.22); color: var(--fm-navy); }
.fm-perk-garantia .fm-perk-link { color: var(--fm-accent); }
.fm-perk-garantia .fm-perk-link:hover { color: var(--fm-navy); }
.fm-perk-big { display: flex; align-items: baseline; gap: 8px; margin-top: 10px; color: var(--fm-blue); }
.fm-perk-big strong { font-size: 80px; font-weight: 700; line-height: .9; letter-spacing: -.07em; }
.fm-perk-big span { font-size: 21px; font-weight: 700; letter-spacing: -.02em; color: var(--fm-accent); }

@media (max-width: 991px) {
  .fm-perks { gap: 16px; margin-top: 36px; }
  .fm-perk { padding: 26px 24px; }
  .fm-perk h3 { font-size: 21px; }
  .fm-perk-big strong { font-size: 68px; }
}
@media (max-width: 767px) {
  .fm-perks { grid-template-columns: 1fr; gap: 12px; margin-top: 30px; }
  .fm-perk, .fm-perk-rapel, .fm-perk-garantia { flex-direction: row; align-items: stretch; gap: 14px; padding: 10px; border-radius: 18px; }
  .fm-perk-rapel .fm-perk-body, .fm-perk-garantia .fm-perk-body { flex: 1; min-width: 0; padding: 4px 4px 4px 0; }
  .fm-perk-art, .fm-perk-garantia .fm-perk-art { order: 0; flex: none; align-self: stretch; width: 128px; max-width: none; height: auto; aspect-ratio: auto; border-radius: 12px; }
  .fm-perk-rapel .fm-perk-art { order: 2; }
  .fm-perk-rapel .fm-perk-body { padding: 4px 0 4px 6px; }
  .fm-perk h3 { margin: 0 0 6px; font-size: 17px; line-height: 1.18; letter-spacing: -.02em; }
  .fm-perk p { margin: 0 0 12px; font-size: 13px; line-height: 1.42; }
  .fm-perk-big { gap: 6px; margin: 0; }
  .fm-perk-big strong { font-size: 44px; }
  .fm-perk-big span { font-size: 15px; }
  .fm-perk-garantia h3 { margin-top: 4px; }
  .fm-perk-link { margin-top: auto; gap: 6px; font-size: 11px; letter-spacing: .04em; line-height: 1.25; }
  .fm-perk-link svg { width: 13px; height: 13px; flex: none; }
}

@media (max-width: 991px) {
  .fm-hero-wrap { padding-top: 210px; }
  .fm-hero-ac { width: 56vw; }
  .fm-h1 { font-size: 46px; max-width: 760px; }
  .fm-section { padding: 70px 0; }
  .fm-section.fm-who { padding: 80px 0 70px; }
  .fm-who-stage { --who-clip: url(#fm-who-clip-tablet); aspect-ratio: 16 / 10; }
  .fm-who-pmoc { grid-template-columns: 1fr; gap: 20px; }
  .fm-who-pmoc-mark { padding: 0 0 18px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .fm-who-pmoc .fm-organic { justify-self: start; }
}
@media (max-width: 991px) {
  .fm-rv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fm-rv-tall { grid-row: auto; }
  .fm-rv-tall blockquote { font-size: 18px; }
}
@media (max-width: 767px) {
  .fm-rv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .fm-rv-tall { grid-row: span 2; }
  .fm-rv-tall.fm-rv-navy { grid-row: auto; }
  .fm-rv-wide { grid-column: 1 / -1; }
  .fm-review { padding: 16px 14px; gap: 14px; border-radius: 14px; }
  .fm-review blockquote, .fm-rv-tall blockquote, .fm-rv-wide blockquote { font-size: 13.5px; line-height: 1.5; }
  .fm-rv-stars { font-size: 12px; margin-bottom: -4px; }
  .fm-review figcaption { gap: 8px; font-size: 13px; line-height: 1.2; }
  .fm-review figcaption img { width: 34px; height: 34px; }
  .fm-rv-sum { gap: 14px; }
  .fm-hero-wrap { position: absolute; top: 40%; left: 0; right: 0; padding: 0 12px; }
  .fm-hero-center { align-items: center; text-align: center; }
  .fm-hero-overlay { display: none; }
  .fm-hero-room { object-position: center; }
  .fm-hero-ac { top: 19%; width: min(88vw, 450px); }
  html.anim .fm-hero-ac { scale: 1.06; }
  .fm-hero-pendant { width: 78vw; left: -25%; top: 4%; opacity: .9; }
  .fm-hero-foreground { width: 86vw; right: -24%; bottom: -4%; opacity: .55; }
  .fm-h1 { font-size: clamp(25px, 7.6vw, 34px); line-height: 1.08; margin-bottom: 12px; text-shadow: 0 2px 10px rgba(0,0,0,.75); }
  .fm-hero { height: calc(100svh - 1.5rem); min-height: 0; }
  .fm-rating { padding: 0 0 14px; bottom: 120px; }
  .fm-hero-notch { --w: min(210px, calc(100% - 4.5rem)); }
  .fm-hero-notch .fm-lead { font-size: 13px; padding: 26px 18px; text-shadow: none; line-height: 1.45; }
  .fm-demo-pill { font-size: 11px; border-radius: 14px; }
  .fm-section { padding: 56px 0; }
  .fm-section.fm-who { --r: 1rem; padding: 60px 0 16px; }
  .fm-who-row > :first-child { order: 2; }
  .fm-who-row > :last-child { order: 1; }
  .fm-who-stage { --who-clip: url(#fm-who-clip-mobile); aspect-ratio: 1 / 1; }
  .fm-who-js .fm-who-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 0; }
  .fm-who-js .fm-who-item { display: contents; }
  .fm-who-js .fm-who-head { position: relative; display: flex; align-items: center; justify-content: center; grid-row: 1; min-width: 0; min-height: 88px; padding: 10px 6px; border-bottom: 2px solid rgba(1,37,99,.15); text-align: center; }
  .fm-who-js .fm-who-item:nth-child(1) .fm-who-head { grid-column: 1; }
  .fm-who-js .fm-who-item:nth-child(2) .fm-who-head { grid-column: 2; }
  .fm-who-js .fm-who-item:nth-child(3) .fm-who-head { grid-column: 1; grid-row: 2; }
  .fm-who-js .fm-who-item:nth-child(4) .fm-who-head { grid-column: 2; grid-row: 2; }
  .fm-who-js .fm-who-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--fm-accent); transform: scaleX(0); transform-origin: 0 50%; }
  .fm-who-js .fm-who-item.is-past .fm-who-head::after { transform: scaleX(1); }
  .fm-who-js .fm-who-item.is-timing .fm-who-head::after { animation: fm-who-bar var(--who-dur, 7s) linear both; }
  .fm-who-js .fm-who-title { flex-direction: column; align-items: center; row-gap: 4px; }
  .fm-who-js .fm-who-tab-icon { width: 18px; height: 18px; }
  .fm-who-js .fm-who-name { font-size: clamp(11px, 3.6vw, 15px); letter-spacing: -.03em; white-space: nowrap; opacity: .65; }
  .fm-who-js .fm-who-item.is-open .fm-who-name { translate: 0 0; }
  .fm-who-js .fm-who-hint { display: block; font-size: 11px; line-height: 1.2; }
  .fm-who-js .fm-who-icon, .fm-who-js .fm-who-bar, .fm-who-js .fm-who-tags { display: none; }
  .fm-who-js .fm-who-panel { grid-column: 1 / -1; grid-row: 3; }
  .fm-who-js .fm-who-item:not(.is-open) .fm-who-panel { grid-template-rows: 1fr; visibility: hidden; pointer-events: none; }
  .fm-who-js .fm-who-body > * { transition: none; }
  .fm-who-body { padding: 18px 0 0; }
  .fm-who-body p { margin-bottom: 14px; font-size: 14px; line-height: 1.5; }
  .fm-who-cta { margin-bottom: 12px; }
  .fm-who-pmoc { margin: 40px -6px 0; padding: 24px 20px; border-radius: 18px; }
  .fm-who-pmoc-mark strong { font-size: 48px; }
  .fm-who-pmoc { gap: 12px; }
  .fm-who-pmoc-mark { align-items: center; padding-bottom: 12px; text-align: center; }
  .fm-who-pmoc-mark span { max-width: 220px; }
  .fm-score { font-size: 64px; }
  .fm-strip { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 575px) {
  #servicos .fm-card { --r: 16px; --lr: 12px; --pr: 10px; }
  #servicos .fm-card-label { padding: 7px 9px; font-size: clamp(13px, 3.8vw, 17px); }
  #servicos .fm-card-pin { width: 36px; height: 34px; }
  #servicos .fm-card-pin svg { width: 17px; height: 17px; }
  #servicos .fm-card-body { padding: 10px; }
  #servicos .fm-card-body p { margin-bottom: 12px; font-size: 12px; line-height: 1.45; }
  #servicos .fm-card-footer { flex-wrap: wrap; gap: 6px; padding-top: 10px; }
  #servicos .fm-card-footer span { font-size: 10px; letter-spacing: 0; }
  #servicos .fm-card-action { width: 32px; height: 32px; margin-left: auto; }
}
@media (max-width: 767px) and (max-height: 700px) {
  .fm-hero-wrap { top: 43%; }
  .fm-rating { display: none; }
}

@media (max-width: 991px) {
  .fm-cta { padding: 255px 0 70px; }
  .fm-cta-art { top: -35px; right: -15px; width: 42vw; }
  .fm-cta h2 { font-size: clamp(36px, 4.8vw, 48px); }
}
@media (max-width: 767px) {
  .fm-cta { padding: clamp(190px, 56vw, 235px) 0 58px; }
  .fm-cta-art { top: -25px; right: -12px; width: min(92vw, 390px); }
  .fm-cta h2 { max-width: 520px; font-size: clamp(36px, 9vw, 48px); }
  .fm-cta .lead { font-size: 16px; }
  .fm-cta-links { margin-top: 30px; }
}

/* navbar: aba branca "recortada" da página, presa ao topo; some ao rolar para baixo e volta ao subir (js/nav.js) */
header.fm-nav, header.fm-nav.smaller, header.fm-nav.header-mobile {
  --r: 1.5rem; --gap: .75rem; --page: #fff;
  position: fixed !important; top: 0; left: 50%; right: auto;
  width: min(1240px, calc(100% - 2 * var(--gap) - 4 * var(--r)));
  height: auto; margin: 0; padding: 6px 0 8px; overflow: visible;
  background: var(--page); border: 0; border-radius: 0 0 var(--r) var(--r); box-shadow: none;
  transform: translateX(-50%); transition: transform .4s cubic-bezier(.2,.7,.2,1);
}
/* cantos invertidos que ligam a aba à borda superior da hero */
header.fm-nav::before, header.fm-nav::after { content: ""; position: absolute; top: calc(var(--gap) - 1px); width: calc(var(--r) + 1px); height: calc(var(--r) + 1px); pointer-events: none; }
header.fm-nav::before { right: calc(100% - 1px); background: radial-gradient(circle at 0 100%, transparent calc(var(--r) - .5px), var(--page) var(--r)); }
header.fm-nav::after { left: calc(100% - 1px); background: radial-gradient(circle at 100% 100%, transparent calc(var(--r) - .5px), var(--page) var(--r)); }
/* faixa branca no topo da tela: mantém os cantos invertidos ligados a algo quando a página rola */
header.fm-nav .fm-nav-strip { position: absolute; top: 0; left: 50%; width: 100vw; height: calc(var(--gap) + 1px); background: var(--page); transform: translateX(-50%); pointer-events: none; }
header.fm-nav.menu-open .fm-nav-strip { display: none; }
header.fm-nav.fm-nav-hidden { transform: translate(-50%, calc(-100% - var(--r) - 8px)); }
header.fm-nav .container { max-width: none; padding: 0 28px; }
header.fm-nav #mainmenu > li > a, header.fm-nav.smaller #mainmenu > li > a { color: var(--fm-navy); padding-top: 18px; padding-bottom: 18px; }
/* botão orgânico da navbar: azul claro, texto branco */
header.fm-nav .fm-organic-nav { --surface: var(--fm-accent); --label: #fff; height: 40px; min-width: 0; font-size: 13px; }
header.fm-nav .fm-organic-nav:hover { color: #fff; }
header.fm-nav #mainmenu > li > a:hover { color: var(--fm-accent); }
header.fm-nav #menu-btn { color: var(--fm-navy); background: none; }
header.fm-nav.header-mobile { padding: 10px 0; }
header.fm-nav.header-mobile .container { padding: 0 18px; }
header.fm-nav.header-mobile:not(.menu-open) .header-col-mid { display: none; }
header.fm-nav.header-mobile #mainmenu a.menu-item { color: var(--fm-navy); }
header.fm-nav.header-mobile #mainmenu li { border-bottom-color: rgba(1,37,99,.12); }
/* menu mobile aberto ocupa a tela toda */
header.fm-nav.menu-open { left: 0; width: 100%; transform: none; border-radius: 0; overflow: auto; }
header.fm-nav.menu-open::before, header.fm-nav.menu-open::after { display: none; }
@media (prefers-reduced-motion: reduce) { header.fm-nav { transition: none; } }

/* navbar no mobile (fica no fim para vencer as regras base acima) */
@media (max-width: 767px) {
  header.fm-nav .menu_side_area { display: flex; align-items: center; gap: 10px; }
  header.fm-nav .fm-organic-nav { height: 34px; font-size: 11px; letter-spacing: .02em; }
  header.fm-nav .fm-organic-nav .fm-organic-label { padding: 0 2px; }
  header.fm-nav .menu_side_area { gap: 6px; }
  header.fm-nav, header.fm-nav.smaller, header.fm-nav.header-mobile { --r: 1rem; width: calc(100% - 2.5rem); }
  header.fm-nav.header-mobile .container { padding: 0 8px; }
  header.fm-nav .de-flex { gap: 4px; }
  header.fm-nav .fm-nav-more { display: none; }
  header.fm-nav .de-flex-col { flex: none; }
  header.fm-nav .fm-logo img { width: 94px; }
  header.fm-nav .fm-organic-nav { height: 30px; font-size: 10px; letter-spacing: 0; }
  header.fm-nav .menu_side_area { margin-left: 0; width: auto; gap: 0; }
  /* no mobile só o CTA aparece: sem hambúrguer nem menu lateral */
  header.fm-nav #menu-btn, header.fm-nav .header-col-mid { display: none !important; }
  header.fm-nav .de-flex { align-items: center; }
}
@media (max-width: 359px) {
  header.fm-nav .fm-logo img { width: 80px; }
  header.fm-nav .fm-organic-nav { font-size: 9px; }
  header.fm-nav .fm-organic-nav .fm-organic-label { padding: 0; }
  header.fm-nav.header-mobile .container { padding: 0 6px; }
}

/* como pedir no celular: bento de 2 linhas — passo 1 em destaque e os outros dois lado a lado */
@media (max-width: 575px) {
  #como .lead { font-size: 15px; }
  .fm-flow { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 26px; }
  .fm-flow-item { --r: 20px; --pr: 14px; }
  .fm-flow-item:first-child { grid-column: 1 / -1; }
  .fm-flow-tab { width: 46px; height: 40px; }
  .fm-flow-tab-l { font-size: 17px; }
  .fm-flow-tab-r svg { width: 19px; height: 19px; }
  .fm-flow-head { min-height: 40px; padding: 0 58px; }
  .fm-flow-head h3 { font-size: 18px; line-height: 1.15; }
  .fm-flow-item:not(:first-child) .fm-flow-head { display: block; min-height: 0; padding: 50px 14px 0; }
  .fm-flow-item:not(:first-child) .fm-flow-head h3 { font-size: 16px; }
  .fm-flow-item p { padding: 10px 16px 18px; font-size: 14px; line-height: 1.5; }
  .fm-flow-item:not(:first-child) p { padding: 6px 14px 16px; font-size: 13px; }
}

/* como pedir (até tablet): o celular vem logo depois do título e os passos ficam abaixo dele */
@media (max-width: 991px) {
  #como .fm-how-left { display: contents; }
  #como .fm-how-intro, #como .fm-flow { width: 100%; padding-inline: calc(var(--bs-gutter-x, 1.5rem) * .5); }
  #como .fm-how-intro { order: 0; }
  #como .fm-how-chat { order: 1; }
  #como .fm-flow { order: 2; margin-top: 28px; }
}

/* onde atende (até tablet): o mapa vem logo depois do título; pontos e chamada ficam abaixo dele */
@media (max-width: 991px) {
  #area .fm-area-left { display: contents; }
  #area .fm-area-intro, #area .fm-area-points, #area .fm-area-cta { width: 100%; margin-top: var(--bs-gutter-y); }
  #area .fm-area-intro { order: 0; }
  #area .fm-area-map { order: 1; }
  #area .fm-area-points { order: 2; margin-bottom: 0; padding-inline: calc(var(--bs-gutter-x, 1.5rem) * .5); }
  #area .fm-area-cta { order: 3; margin-inline: calc(var(--bs-gutter-x, 1.5rem) * .5); width: calc(100% - var(--bs-gutter-x, 1.5rem)); }
  #area .fm-area-intro { padding-inline: calc(var(--bs-gutter-x, 1.5rem) * .5); }
  .fm-map-frame { min-height: 380px; }
}
@media (max-width: 767px) {
  .fm-section.fm-area { --r: 1rem; }
  .fm-map { --r: 20px; --pr: 14px; }
  .fm-map-frame { min-height: 320px; }
  .fm-map-foot { padding: 14px 16px; gap: 12px; }
  .fm-map-info strong { font-size: 16px; }
  .fm-map-rate { font-size: 13px; gap: 8px; }
  .fm-map-open { display: none; }
  .fm-area-cta { padding: 20px; border-radius: 20px; }
}

/* altura travada durante a animação: o campo cresce para cima e a área das mensagens cede o espaço, sem empurrar a página */
.fm-chat-js { display: flex; flex-direction: column; }
.fm-chat-js .fm-chat-body { flex: 1; min-height: 0; overflow: hidden; justify-content: flex-end; }

/* preloader: some com fade quando fontes e imagens da hero estão prontas (js/site.js adiciona .is-out) */
#de-loader { transition: opacity .5s ease, visibility 0s linear .5s; }
#de-loader.is-out { opacity: 0; visibility: hidden; pointer-events: none; }
#de-loader .lds-roller div:after { background: var(--fm-accent); }

/* ícone do menu (tablet) desenhado em CSS: o template usava a fonte FontAwesome, que não é carregada */
header.fm-nav #menu-btn::before { content: ""; display: block; width: 20px; height: 2px; margin: 11px auto 0; border-radius: 2px; background: currentColor; box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor; }
header.fm-nav #menu-btn.menu-open::before { box-shadow: none; }

/* Hero clara: o aparelho abre a leitura e as informações ficam no mesmo bloco. */
.fm-hero {
  display: flex; flex-direction: column; align-items: center; height: auto; min-height: 100svh;
  margin: 0; padding: 92px 24px 24px; overflow: visible; border-radius: 0; background: #fff;
}
.fm-hero-scene { position: relative; inset: auto; width: min(100%, 980px); overflow: visible; }
.fm-hero-ac { position: relative; inset: auto; display: block; width: 100%; max-width: none; height: auto; margin: 0 auto; }
.fm-hero-wrap { position: relative; z-index: 1; width: 100%; margin-top: 24px; padding: 0; }
.fm-hero-center { align-items: center; max-width: 760px; margin: 0 auto; text-align: center; }
.fm-h1 { max-width: 760px; margin: 8px 0 12px; color: var(--fm-navy); font-size: clamp(36px, 4vw, 54px); line-height: 1.08; letter-spacing: -.05em; }
.fm-dim { opacity: 1; }
.fm-lead { max-width: 590px; margin: 0 auto 22px; color: #40536c; font-size: 17px; line-height: 1.5; }
.fm-cta-row { width: min(100%, 440px); flex-direction: column; }
.fm-hero .fm-hero-cta { width: 100%; height: 48px; }
.fm-hero-proof { display: grid; grid-template-columns: repeat(3, 205px); gap: 8px; align-self: flex-end; margin: auto 0 0; padding: 32px 0 0; list-style: none; }
.fm-hero-proof li { display: flex; min-height: 88px; color: #fff; background: var(--fm-blue); clip-path: url(#fm-proof-shape); font-size: 13px; font-weight: 600; line-height: 1.3; }
.fm-proof-text { display: flex; flex: 1; flex-direction: column; justify-content: center; min-width: 0; padding: 12px 0 12px 16px; }
.fm-proof-text small { display: block; margin-top: 5px; color: #c8dcfa; font-size: 11px; font-weight: 500; }
.fm-proof-icon { display: grid; flex: 0 0 38px; place-items: center; margin-right: 22px; }
.fm-hero-proof svg { width: 20px; height: 20px; color: #fff; }
html.anim .fm-hero-proof li.rv { clip-path: url(#fm-proof-shape); }
html.anim .fm-hero-ac { scale: 1; translate: 0 0; opacity: 0; transform: translate3d(0, 28px, 0) scale(.94); }
html.anim .fm-hero.scene-ready .fm-hero-ac { animation: fm-hero-ac-enter 1.25s cubic-bezier(.2,.7,.2,1) both; }
@keyframes fm-hero-ac-enter { to { opacity: 1; transform: none; } }

@media (min-width: 768px) {
  .fm-hero-proof { position: absolute; right: 24px; bottom: 24px; margin: 0; padding: 0; }
}

@media (max-width: 767px) {
  .fm-hero { padding: 120px 16px 12px; }
  .fm-hero-scene { width: calc(100% + 20px); margin: 0 -10px; }
  .fm-hero-ac { width: 100%; }
  .fm-hero-wrap { position: relative; top: auto; left: auto; right: auto; margin-top: 18px; padding: 0; }
  .fm-hero-center { padding: 0; }
  .fm-h1 { max-width: 510px; margin: 6px 0 10px; font-size: clamp(29px, 8vw, 38px); line-height: 1.08; text-shadow: none; }
  .fm-lead { max-width: 440px; margin-bottom: 18px; font-size: 15px; }
  .fm-cta-row { width: 100%; max-width: 440px; }
  .fm-hero .fm-hero-cta { height: 46px; font-size: 13px; }
  .fm-hero-proof { grid-template-columns: repeat(3, minmax(0, 1fr)); align-self: stretch; gap: 6px; padding-top: 24px; }
  .fm-hero-proof li { flex-direction: column-reverse; min-height: 116px; font-size: 12px; }
  .fm-hero-proof li:last-child { letter-spacing: -.03em; }
  .fm-proof-text { padding: 2px 16px 8px 7px; }
  .fm-proof-text small { margin-top: 3px; font-size: 11px; }
  .fm-proof-icon { flex-basis: 27px; justify-items: end; margin-right: 22px; }
  .fm-hero-proof svg { width: 19px; height: 19px; }
}
@media (max-width: 359px) {
  .fm-hero { padding-right: 12px; padding-left: 12px; }
  .fm-h1 { font-size: 27px; }
}

/* Lenis (rolagem suave): CSS recomendado pela biblioteca */
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* Perguntas de contratação: sanfona nativa, disponível sem JavaScript. */
.fm-faq { background: #fff; }
.fm-faq h2 { font-size: clamp(30px, 3vw, 42px); line-height: 1.15; letter-spacing: -.04em; }
.fm-faq-list { border-top: 1px solid #ccd7e7; }
.fm-faq details { box-sizing: border-box; padding: 20px 0; border-bottom: 1px solid #ccd7e7; }
.fm-faq summary { position: relative; padding-right: 32px; color: var(--fm-navy); cursor: pointer; list-style: none; }
.fm-faq summary::-webkit-details-marker { display: none; }
.fm-faq summary::before, .fm-faq summary::after { content: ""; position: absolute; top: 12px; right: 6px; width: 10px; height: 2px; background: currentColor; }
.fm-faq summary::after { transform: rotate(90deg); transition: transform .32s cubic-bezier(.2,.7,.2,1); }
.fm-faq details[open]:not(.is-closing) summary::after { transform: rotate(0); }
.fm-faq summary h3 { margin: 0; font-size: 18px; line-height: 1.4; letter-spacing: -.02em; }
.fm-faq summary:focus-visible { outline: 3px solid var(--fm-accent); outline-offset: 6px; border-radius: 4px; }
.fm-faq details p { margin: 14px 0 0; color: #40536c; line-height: 1.65; }
@media (prefers-reduced-motion: reduce) { .fm-faq summary::after { transition: none; } }
