/* Página Seja um franqueado — mais sóbria que a home */
.f-hero { position: relative; min-height: 100svh; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 30px; padding: 130px var(--gutter) clamp(50px, 9vh, 100px); overflow: hidden; isolation: isolate; }
.f-hero video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; filter: grayscale(.85) brightness(.55) contrast(1.1); }
.f-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--bg) 0%, rgba(11,11,10,.75) 45%, rgba(11,11,10,.2)), linear-gradient(0deg, var(--bg), transparent 40%); }
.f-hero h1 { margin: 0 0 22px; font: clamp(70px, 11vw, 180px)/.84 var(--titulo); text-transform: uppercase; }
.f-hero h1 em { font-style: normal; color: var(--acc); }
.f-hero .lead { margin-bottom: 30px; }
.f-hero .acoes { display: flex; gap: 12px; flex-wrap: wrap; }
.f-selo { width: 170px; aspect-ratio: 1; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.25); display: grid; place-content: center; text-align: center; backdrop-filter: blur(10px); background: rgba(11,11,10,.35); animation: gira 30s linear infinite; }
.f-selo > * { animation: gira 30s linear infinite reverse; }
.f-selo b { font: 64px/.9 var(--titulo); color: var(--acc); }
.f-selo span { color: #f5c542; font-size: 13px; letter-spacing: .1em; }
.f-selo small { font-size: 11.5px; font-weight: 700; color: var(--muted); line-height: 1.3; margin-top: 4px; }
@keyframes gira { to { transform: rotate(360deg); } }
@media (max-width: 760px) { .f-hero { grid-template-columns: 1fr; } .f-selo { position: absolute; top: 96px; right: 16px; width: 120px; } .f-selo b { font-size: 44px; } }

.pilares { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 50px; }
.pilar { border: 1px solid var(--line); border-radius: 24px; padding: 30px 26px 34px; background: linear-gradient(180deg, var(--card), var(--bg)); transition: border-color .3s, transform .3s; }
.pilar:hover { border-color: var(--acc); transform: translateY(-4px); }
.pilar span { font: 20px var(--titulo); color: var(--acc); letter-spacing: .1em; }
.pilar h3 { font: 36px/.95 var(--titulo); margin: 40px 0 12px; text-transform: uppercase; }
.pilar p { margin: 0; color: var(--muted); font-size: 15.5px; }
@media (max-width: 1000px) { .pilares { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .pilares { grid-template-columns: 1fr; } .pilar h3 { margin-top: 18px; } }

.f-marca { position: relative; overflow: hidden; border-block: 1px solid var(--line); }
.f-galeria { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; opacity: .22; filter: grayscale(1); transform: rotate(-4deg) scale(1.2); }
.f-galeria img { width: 100%; height: 100%; object-fit: cover; }
.f-marca::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 50%, var(--bg) 25%, rgba(11,11,10,.6)); z-index: 1; }
.f-marca .secao { position: relative; z-index: 2; }
.fatos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 40px; border-top: 1px solid var(--line); }
.fatos div { padding: 26px 20px 0 0; }
.fatos b { display: block; font: clamp(60px, 7vw, 110px)/.9 var(--titulo); color: var(--ink); }
.fatos span { color: var(--muted); font-weight: 700; font-size: 14px; }
@media (max-width: 760px) { .fatos { grid-template-columns: 1fr 1fr; row-gap: 20px; } }

.linha-tempo { list-style: none; padding: 0; margin: 60px 0 0; display: grid; grid-template-columns: repeat(5, 1fr); counter-reset: e; position: relative; }
.linha-tempo::before { content: ""; position: absolute; left: 0; right: 0; top: 23px; height: 2px; background: linear-gradient(90deg, var(--acc), var(--line)); }
.linha-tempo li { counter-increment: e; padding-right: 20px; position: relative; }
.linha-tempo li::before { content: counter(e); display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--bg); border: 2px solid var(--acc); font: 24px/1 var(--titulo); color: var(--acc); margin-bottom: 22px; position: relative; }
.linha-tempo b { display: block; font: 30px/1 var(--titulo); text-transform: uppercase; margin-bottom: 6px; }
.linha-tempo span { color: var(--muted); font-size: 15px; }
@media (max-width: 860px) {
  .linha-tempo { grid-template-columns: 1fr; gap: 26px; }
  .linha-tempo::before { left: 23px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; background: linear-gradient(var(--acc), var(--line)); }
  .linha-tempo li { display: grid; grid-template-columns: 48px 1fr; column-gap: 18px; }
  .linha-tempo li::before { grid-row: span 2; margin: 0; }
}

.f-form-sec { background: radial-gradient(ellipse at 80% 20%, rgba(166,206,57,.12), transparent 60%); }
.f-form-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(30px, 6vw, 90px); align-items: start; }
@media (max-width: 860px) { .f-form-grid { grid-template-columns: 1fr; } }
.f-form { background: var(--card); border: 1px solid var(--line); border-radius: 28px; padding: clamp(22px, 4vw, 44px); display: grid; gap: 16px; }
.f-form label > span, .f-form legend { display: block; font-size: 13px; font-weight: 800; color: var(--muted); margin-bottom: 7px; letter-spacing: .02em; }
.f-form em { font-style: normal; font-weight: 600; }
.f-form input:not([type=radio]):not([type=checkbox]), .f-form select, .f-form textarea { width: 100%; font: inherit; font-size: 16px; color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: 14px; padding: 15px 16px; }
.f-form input:focus, .f-form select:focus, .f-form textarea:focus { outline: 2px solid var(--acc); outline-offset: 1px; }
.f-form .dupla { display: grid; grid-template-columns: 1.4fr 1fr; gap: 12px; }
@media (max-width: 520px) { .f-form .dupla { grid-template-columns: 1fr; } }
.f-form fieldset { border: 0; padding: 0; margin: 0; }
.opcoes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.opcoes label { cursor: pointer; }
.opcoes input { position: absolute; opacity: 0; }
.opcoes span { display: block; text-align: center; padding: 14px 10px; border-radius: 14px; border: 1px solid var(--line); background: var(--bg); font-weight: 700; font-size: 15px; color: var(--ink) !important; margin: 0 !important; }
.opcoes input:checked + span { background: var(--acc); border-color: var(--acc); color: var(--acc-ink) !important; }
.opcoes input:focus-visible + span { outline: 2px solid var(--acc); outline-offset: 2px; }
.aceite { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
.aceite input { width: 20px; height: 20px; accent-color: var(--acc); margin-top: 2px; flex: none; }
.aceite span { font-weight: 600 !important; font-size: 14px !important; letter-spacing: 0 !important; }
.f-form .btn { justify-content: center; padding: 18px; font-size: 17px; }
.f-form .btn:disabled { opacity: .5; transform: none; box-shadow: none; }
.f-msg { margin: 0; font-weight: 700; }
.f-msg.erro { color: #ff6b5e; }
.f-msg.ok { color: var(--acc); background: rgba(166,206,57,.1); border-radius: 14px; padding: 14px 16px; }
