*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:#13223a;background:#fff}a{text-decoration:none;color:inherit}.topbar{height:82px;display:flex;align-items:center;gap:28px;padding:0 5%;border-bottom:1px solid #e7e9ed;background:#fff;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:9px;min-width:300px}.brand strong{font-size:43px;letter-spacing:-5px;font-style:italic}.brand small{font-size:9px;letter-spacing:4px;margin:27px 0 0 -42px;color:#68758a}.brand i{height:44px;width:1px;background:#bbc1c9;margin-left:15px}.brand b{font-size:10px;line-height:10px;text-align:center;color:#c91547;border:2px solid #c91547;padding:6px 10px}nav{display:flex;gap:26px;justify-content:center;flex:1}nav a{font-size:14px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;padding:14px 22px;font-weight:900;gap:12px}.green{background:#08a96c;color:#fff;box-shadow:0 8px 25px #08a96c33}.big{padding:17px 25px}.hero{display:grid;grid-template-columns:48% 52%;min-height:575px;background:#071426;color:#fff}.hero-copy{padding:85px 8%}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:900;color:#e51a52;margin-bottom:17px}.hero h1{font-size:58px;line-height:1.02;letter-spacing:-2.5px;margin:0 0 24px}.hero h1 em,h2 em{color:#e51a52;font-style:normal}.hero-copy p{font-size:18px;line-height:1.55;color:#dbe3ed;max-width:600px}.chips{display:flex;gap:10px;margin:27px 0}.chips span{border:1px solid #fff2;border-radius:99px;padding:9px 14px;font-weight:800}.hero-photo{position:relative;overflow:hidden;background:#1b2b42}.hero-photo img,.connection-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.signature{position:absolute;right:6%;bottom:7%;z-index:2;text-align:right;color:#fff;font-size:30px;font-style:italic;text-shadow:0 2px 15px #000}.signature small{font-size:12px;letter-spacing:1px;font-style:normal}.section{padding:75px 6%;max-width:1400px;margin:auto}.about{display:grid;grid-template-columns:1.15fr .85fr;gap:65px}.section h2{font-size:42px;line-height:1.06;letter-spacing:-1.5px;margin:0 0 22px}.section p{font-size:17px;line-height:1.65;color:#526076}.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats article{padding:27px;border-radius:18px;background:#f5f7fa}.stats strong{display:block;color:#d71952;font-size:38px}.stats span{font-weight:700;color:#59677b}.services{background:#071426;color:#fff}.services .section{max-width:none}.services h2{color:#fff}.muted{color:#cbd4df!important}.cards{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-top:35px}.cards article{background:#10253f;border:1px solid #fff1;border-radius:16px;padding:20px 15px;min-height:185px}.cards b{color:#e51a52;font-size:27px}.cards h3{font-size:15px;margin:12px 0}.cards p{font-size:13px!important;color:#b9c5d4!important;line-height:1.4!important}.connection{display:grid;grid-template-columns:38% 62%;background:#071426;color:#fff}.connection-photo{min-height:470px}.connection-copy{padding:70px 8%}.connection-copy h2{color:#fff}.connection-copy p{color:#d2dbe7}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.three div{padding:21px;background:#10253f;border:1px solid #fff1;border-radius:14px}.three strong,.three span{display:block}.three span{font-size:13px;color:#b7c3d1;margin-top:8px}.personal{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center}.interests{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.interests span{background:#fafafa;border-radius:15px;padding:20px 8px;text-align:center;font-size:27px;color:#d71952}.interests b{display:block;font-size:12px;color:#2b3950;margin-top:9px}.schedule{padding:75px 7%;display:grid;grid-template-columns:1fr 1fr;gap:55px;background:linear-gradient(115deg,#071426,#280c22);color:#fff}.schedule h2{font-size:42px;line-height:1.06}.schedule p{font-size:17px;line-height:1.6;color:#d4dce6}.booking{background:#fff;color:#13223a;border-radius:20px;padding:45px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.booking h3{font-size:29px;margin:0 0 8px}.white{background:#fff;color:#10233c}footer{padding:28px 6%;background:#050b15;color:#cbd4df;display:flex;justify-content:space-between}@media(max-width:1000px){.topbar{height:auto;padding:15px 5%;flex-wrap:wrap}.brand{min-width:0}.topbar nav{order:3;width:100%;justify-content:flex-start;overflow:auto}.hero,.about,.connection,.personal,.schedule{grid-template-columns:1fr}.hero-photo{min-height:470px}.cards{grid-template-columns:repeat(2,1fr)}.interests{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.topbar>.btn{display:none}.hero-copy{padding:55px 6%}.hero h1{font-size:42px}.hero-photo{min-height:410px}.cards,.three{grid-template-columns:1fr}.interests{grid-template-columns:1fr 1fr}.section{padding:55px 6%}.section h2,.schedule h2{font-size:34px}footer{flex-direction:column;gap:8px}}

.brand-logo {
  width: 125px;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Ajustes do logo e layout responsivo */
.brand { min-width: 0; flex: 0 0 auto; }
.brand-logo { display: block; width: 125px; max-width: 100%; max-height: 50px; height: auto; object-fit: contain; }
.hero { grid-template-columns: minmax(0, 48fr) minmax(0, 52fr); }
.hero-copy, .connection-copy, .section, .schedule > div { min-width: 0; }
.cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
footer { align-items: center; gap: 12px 28px; flex-wrap: wrap; }
.footer-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.footer-logo { width: 105px; max-height: 44px; }
body { overflow-x: hidden; }
@media (max-width: 1000px) {
  .topbar { min-width: 0; gap: 14px 20px; }
  .topbar nav { min-width: 0; flex-wrap: wrap; overflow: visible; gap: 10px 18px; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .topbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .brand-logo { width: min(125px, 36vw); max-height: 42px; }
  .topbar nav { grid-column: 1 / -1; order: initial; width: 100%; flex: 1 0 100%; display: flex; flex-wrap: wrap; overflow: visible; gap: 8px 16px; }
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero h1 { overflow-wrap: anywhere; font-size: clamp(36px, 10vw, 44px); }
  .about, .connection, .personal, .schedule { grid-template-columns: minmax(0, 1fr); }
  .three { grid-template-columns: minmax(0, 1fr); }
  .interests { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  footer { align-items: flex-start; flex-direction: column; }
  .footer-logo { width: min(105px, 32vw); }
}

/* Enquadramento do logo original, com o fundo recortado */
.topbar .brand-logo { width: 200px; height: 56px; max-width: none; max-height: none; object-fit: cover; object-position: center; border-radius: 3px; }
.footer-logo { width: 160px; height: 50px; max-height: none; object-fit: cover; object-position: center; background: #fff; border-radius: 4px; }
@media (max-width: 700px) {
  .topbar .brand-logo { width: min(140px, 36vw); height: 42px; }
  .footer-logo { width: min(140px, 36vw); height: 42px; }
}
/* Logo sem o fundo claro do arquivo original no rodapé */
/* Tablet: reorganiza as colunas antes de o conteúdo ficar apertado */
@media (min-width: 701px) and (max-width: 900px) {
  .topbar { height: auto; min-height: 82px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 14px 5%; }
  .topbar nav { grid-column: 1 / -1; width: 100%; flex: 1 0 100%; justify-content: flex-start; flex-wrap: wrap; overflow: visible; gap: 8px 16px; }
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero-copy { padding: 60px 7%; }
  .hero h1 { font-size: clamp(38px, 7vw, 50px); overflow-wrap: anywhere; }
  .hero-photo { min-height: 360px; }
  .about, .connection, .personal, .schedule { grid-template-columns: minmax(0, 1fr); }
  .schedule { gap: 32px; }
  .three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .interests { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  footer { align-items: flex-start; flex-direction: column; }
}
/* Cartão de agendamento compacto, com botão visível */
.booking { width: 100%; max-width: 520px; min-height: 0; padding: 48px 36px; box-sizing: border-box; justify-self: center; align-self: center; text-align: center; }
.booking h3 { margin: 0 0 14px; font-size: 30px; }
.booking p { margin: 0 0 26px; color: #68758a; line-height: 1.5; }
.booking .btn.white { background: #08a96c; color: #fff; box-shadow: 0 8px 25px #08a96c33; }
@media (max-width: 700px) { .booking { padding: 32px 24px; } }
/* Logo integrado ao fundo escuro do rodapé */
.footer-logo { background: transparent; border-radius: 0; }

/* Cor oficial BNI para o selo de membro */
.brand b { color: #CF2030; border-color: #CF2030; }

/* Paleta BNI aplicada à página, preservando os logos originais */
:root { --bni-red: #CF2030; --bni-sterling: #C8C8C8; --bni-light: #F2F2F2; --bni-granite: #64666A; --bni-black: #000000; }
body { color: var(--bni-black) !important; background: #fff !important; }
.topbar { background: #fff !important; border-bottom-color: var(--bni-sterling) !important; }
.brand b { color: var(--bni-red) !important; border-color: var(--bni-red) !important; }
.green, .booking .btn.white { background: var(--bni-red) !important; color: #fff !important; box-shadow: 0 8px 25px #cf203033 !important; }
.eyebrow, .hero h1 em, h2 em { color: var(--bni-red) !important; }
.hero { background: var(--bni-light) !important; color: var(--bni-black) !important; }
.hero-copy p { color: var(--bni-granite) !important; }
.chips span { color: var(--bni-granite) !important; border-color: var(--bni-sterling) !important; }
.hero-photo { background: var(--bni-sterling) !important; }
.section p { color: var(--bni-granite) !important; }
.stats article { background: var(--bni-light) !important; }
.stats strong, .cards b { color: var(--bni-red) !important; }
.stats span { color: var(--bni-granite) !important; }
.services { background: var(--bni-light) !important; color: var(--bni-black) !important; }
.services h2 { color: var(--bni-black) !important; }
.muted { color: var(--bni-granite) !important; }
.cards article { background: #fff !important; border-color: var(--bni-sterling) !important; }
.cards p { color: var(--bni-granite) !important; }
.connection { background: var(--bni-light) !important; color: var(--bni-black) !important; }
.connection-copy h2 { color: var(--bni-black) !important; }
.connection-copy p { color: var(--bni-granite) !important; }
.three div { background: #fff !important; border-color: var(--bni-sterling) !important; }
.three span { color: var(--bni-granite) !important; }
.interests span { color: var(--bni-red) !important; }
.interests b { color: var(--bni-black) !important; }
.schedule { background: var(--bni-light) !im}
/* Paleta BNI em toda a interface; logos preservados */
body { color:#000 !important; background:#fff !important; }
.topbar { background:#fff !important; border-bottom-color:#C8C8C8 !important; }
.brand b { color:#CF2030 !important; border-color:#CF2030 !important; }
.green, .booking .btn.white { background:#CF2030 !important; color:#fff !important; box-shadow:0 8px 25px #cf203033 !important; }
.eyebrow, .hero h1 em, h2 em { color:#CF2030 !important; }
.hero { background:#F2F2F2 !important; color:#000 !important; }
.hero-copy p, .section p { color:#64666A !important; }
.chips span { color:#64666A !important; border-color:#C8C8C8 !important; }
.hero-photo { background:#C8C8C8 !important; }
.stats article { background:#F2F2F2 !important; }
.stats strong, .cards b, .interests span { color:#CF2030 !important; }
.stats span { color:#64666A !important; }
.services { background:#F2F2F2 !important; color:#000 !important; }
.services h2 { color:#000 !important; }
.muted, .cards p { color:#64666A !important; }
.cards article { background:#fff !important; border-color:#C8C8C8 !important; }
.connection { background:#F2F2F2 !important; color:#000 !important; }
.connection-copy h2 { color:#000 !important; }
.connection-copy p { color:#64666A !important; }
.three div { background:#fff !important; border-color:#C8C8C8 !important; }
.three span { color:#64666A !important; }
.interests b { color:#000 !important; }
.schedule { background:#F2F2F2 !important; color:#000 !important; }
.schedule p { color:#64666A !important; }
.booking { background:#fff !important; color:#000 !important; border:1px solid #C8C8C8 !important; }
footer { background:#F2F2F2 !important; color:#64666A !important; border-top:1px solid #C8C8C8 !important; }

/* Ícones SVG dos serviços */
.cards b { display:block; width:32px; height:32px; margin-bottom:12px; font-size:0; line-height:1; color:#CF2030; }
.cards b svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* Correção do cartão de agendamento em telas estreitas */
@media (max-width: 700px) {
  .schedule {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    max-width: 100%;
    padding: 48px 5% !important;
    gap: 28px;
    box-sizing: border-box;
  }
  .schedule > div,
  .schedule .booking {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .schedule .booking {
    margin: 0;
    padding: 28px 20px;
    overflow-wrap: anywhere;
  }
  .schedule .booking .btn {
    max-width: 100%;
    white-space: normal;
  }
}

/* Animação sutil nos botões de agendamento */
.topbar .btn,
.booking .btn {
  transition: transform .22s cubic-bezier(.2, .8, .2, 1), box-shadow .22s ease, filter .22s ease;
}
.topbar .btn:hover,
.booking .btn:hover,
.topbar .btn:focus-visible,
.booking .btn:focus-visible {
  transform: translateY(-3px) scale(1.02);
  filter: brightness(1.07);
  box-shadow: 0 12px 26px rgba(207, 32, 48, .28) !important;
}
.topbar .btn:focus-visible,
.booking .btn:focus-visible {
  outline: 3px solid #c91547;
  outline-offset: 4px;
}
.topbar .btn:active,
.booking .btn:active {
  transform: translateY(-1px) scale(.99);
}
@media (prefers-reduced-motion: reduce) {
  .topbar .btn,
  .booking .btn,
  .topbar .btn:hover,
  .booking .btn:hover,
  .topbar .btn:focus-visible,
  .booking .btn:focus-visible,
  .topbar .btn:active,
  .booking .btn:active {
    transition: none;
    transform: none;
  }
}

/* Ajuste definitivo para telas estreitas */
@media (max-width: 760px) {
  html, body { width: 100%; min-width: 320px; max-width: 100%; overflow-x: hidden; }
  .topbar {
    width: 100%; height: auto; min-height: 0; padding: 10px 16px;
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px;
  }
  .topbar .brand { min-width: 0; gap: 7px; }
  .topbar .brand-logo { width: clamp(92px, 31vw, 150px); max-width: 100%; height: 42px; }
  .topbar .brand i { height: 34px; margin-left: 4px; }
  .topbar .brand b { padding: 4px 6px; font-size: 9px; }
  .topbar > .btn { grid-column: 2; grid-row: 1; padding: 10px 11px; font-size: 10px; white-space: nowrap; }
  .topbar nav {
    grid-column: 1 / -1; grid-row: 2; width: 100%; min-width: 0;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px; justify-content: stretch; overflow: visible;
  }
  .topbar nav a { min-width: 0; text-align: center; font-size: 10px; line-height: 1.25; overflow-wrap: anywhere; }
  .hero { width: 100%; min-height: 0; grid-template-columns: minmax(0, 1fr); }
  .hero-copy { min-width: 0; padding: 52px 22px; }
  .hero h1 { font-size: clamp(34px, 9vw, 44px); line-height: 1.08; letter-spacing: -1.4px; overflow-wrap: anywhere; }
  .hero-copy p { font-size: 16px; }
  .hero-photo { width: 100%; min-width: 0; height: min(105vw, 420px); min-height: 280px; }
  .about, .connection, .personal, .schedule {
    width: 100%; min-width: 0; max-width: 100%;
    grid-template-columns: minmax(0, 1fr) !important; gap: 26px !important;
    padding: 52px 22px !important; margin: 0 !important;
  }
  .section { width: 100%; min-width: 0; max-width: 100%; padding: 52px 22px !important; }
  .about > *, .connection > *, .personal > *, .schedule > *, .section > * {
    width: 100%; min-width: 0; max-width: 100%; margin-left: 0 !important; margin-right: 0 !important;
  }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .three { grid-template-columns: minmax(0, 1fr) !important; }
  .interests { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .schedule h2, .schedule h3 { font-size: clamp(30px, 8vw, 40px); line-height: 1.12; overflow-wrap: anywhere; }
  .schedule .booking { width: 100%; min-width: 0; max-width: 100%; margin: 0 !important; padding: 28px 20px !important; }
  .schedule .booking .btn { max-width: 100%; white-space: normal; }
  footer { width: 100%; min-width: 0; padding: 24px 20px !important; flex-direction: column; align-items: center !important; text-align: center; gap: 14px; }
  .footer-brand { justify-content: center; flex-wrap: wrap; }
  .footer-logo { width: min(140px, 40vw); height: 44px; object-fit: contain; }
}
@media (max-width: 380px) {
  .topbar { padding-left: 12px; padding-right: 12px; }
  .topbar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar .brand-logo { width: 92px; }
  .topbar > .btn { padding: 9px 8px; font-size: 9px; }
  .cards { grid-template-columns: minmax(0, 1fr) !important; }
  .about, .connection, .personal, .schedule, .section { padding-left: 16px !important; padding-right: 16px !important; }
}

/* Correções finais observadas em celular */
@media (max-width: 760px) {
  .topbar > .btn { display: inline-flex !important; visibility: visible !important; }
  .chips { display: flex; flex-wrap: wrap; align-items: center; width: 100%; max-width: 100%; }
  .chips span { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .hero-copy, .section, .about, .connection, .personal, .schedule { min-width: 0; }
}
@media (max-width: 760px) {
  .footer-logo { object-fit: cover; object-position: center; }
}
/* Ajustes de proporção para desktop e notebooks */
@media (min-width: 1001px) {
  .connection {
    grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
    align-items: center;
    gap: clamp(24px, 3vw, 48px);
  }
  .connection-photo {
    height: clamp(330px, 30vw, 410px);
    min-height: 0;
  }
  .connection-copy {
    padding: 48px clamp(32px, 5vw, 88px);
  }
}
@media (min-width: 901px) and (max-width: 1300px) {
  .hero-copy {
    padding: clamp(52px, 6vw, 74px) clamp(36px, 5vw, 70px);
  }
  .hero h1 {
    font-size: clamp(44px, 4.4vw, 56px);
    letter-spacing: -2px;
  }
}
/* O conteúdo define a altura do bloco no desktop; a foto acompanha a coluna. */
@media (min-width: 1001px) {
  .connection { align-items: stretch; }
  .connection-photo { height: auto; min-height: 0; align-self: stretch; }
  .connection-copy { align-self: center; }
}
/* Escala controlada em monitores grandes */
@media (min-width: 1440px) {
  .topbar { padding-left: clamp(48px, 5vw, 96px); padding-right: clamp(48px, 5vw, 96px); }
  .hero {
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    min-height: 0;
    align-items: center;
  }
  .hero-copy { padding: clamp(48px, 5vw, 88px) clamp(48px, 5.2vw, 100px); }
  .hero h1 { font-size: clamp(48px, 3.2vw, 60px); line-height: 1.04; letter-spacing: -2.2px; }
  .hero-photo { height: clamp(360px, 58vh, 580px); min-height: 0; max-height: 580px; align-self: center; }
  .services .section { max-width: 1540px; padding-left: clamp(48px, 5vw, 96px); padding-right: clamp(48px, 5vw, 96px); margin-left: auto; margin-right: auto; }
  .connection { grid-template-columns: minmax(0, min(30vw, 560px)) minmax(0, 1fr); }
  .connection-copy { max-width: 960px; justify-self: center; padding: clamp(36px, 3vw, 56px) clamp(40px, 4vw, 72px); }
  .schedule { grid-template-columns: repeat(2, minmax(0, 600px)); justify-content: center; gap: clamp(36px, 4vw, 72px); padding-left: clamp(32px, 5vw, 96px); padding-right: clamp(32px, 5vw, 96px); }
  .schedule > div, .schedule .booking { width: 100%; max-width: 600px; min-width: 0; margin-left: 0; margin-right: 0; }
}
@media (min-width: 2000px) {
  .hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .hero-copy { max-width: 1000px; justify-self: center; }
  .hero-photo { max-width: 860px; width: 100%; justify-self: end; }
}
/* Proporções equilibradas em notebooks e desktops menores */
@media (min-width: 1001px) and (max-width: 1439px) {
  .hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); min-height: 0; align-items: center; }
  .hero-copy { padding: clamp(44px, 5vw, 68px) clamp(36px, 5vw, 72px); }
  .hero h1 { font-size: clamp(44px, 4.3vw, 56px); line-height: 1.04; letter-spacing: -2px; }
  .hero-photo { height: clamp(380px, 58vh, 560px); min-height: 0; max-height: 560px; align-self: center; }
  .connection { grid-template-columns: minmax(0, min(34vw, 450px)) minmax(0, 1fr); }
  .connection-copy { padding: clamp(40px, 4vw, 56px) clamp(32px, 4vw, 56px); }
  .services .section { padding-left: clamp(36px, 5vw, 64px); padding-right: clamp(36px, 5vw, 64px); }
}
/* Retrato principal com limite de largura e proporção quadrada no desktop */
@media (min-width: 1001px) {
  .hero { min-height: 0; align-items: center; }
  .hero-copy { padding-top: clamp(36px, 4vw, 68px); padding-bottom: clamp(36px, 4vw, 68px); }
  .hero h1 { font-size: clamp(44px, 3.6vw, 56px); line-height: 1.04; letter-spacing: -2px; }
  .hero-photo { width: min(100%, clamp(420px, 39vw, 640px)); height: auto; aspect-ratio: 1 / 1; min-height: 0; max-height: none; align-self: center; justify-self: center; }
}
@media (max-width: 380px) { .stats { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 701px) and (max-width: 1000px) { .hero-photo { width: min(100%, 640px); height: auto; aspect-ratio: 1 / 1; min-height: 0; justify-self: center; } }
/* Exibe o slide BNI completo, sem recorte, em qualquer tamanho de tela */
.connection-photo { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; align-self: center; overflow: hidden; background: #fff; }
.connection-photo img { width: 100%; height: 100%; object-fit: contain; object-position: center; }

/* Mantem os tres destaques em uma linha no celular */
@media (max-width: 700px) {
  .chips { flex-wrap: nowrap; gap: 8px; }
  .chips span { flex: 0 1 auto; min-width: 0; padding: 8px clamp(7px, 2vw, 10px); font-size: clamp(11px, 3.3vw, 13px); white-space: nowrap; }
}

/* Menu compacto e agendamento sempre acessivel no celular */
@media (max-width: 700px) {
  .topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
  .menu-toggle {
    grid-column: 2;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #d5d7dc;
    border-radius: 10px;
    background: #fff;
    color: #13223a;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
  }
  .topbar nav {
    display: none;
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    padding: 10px 0 4px;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    border-top: 1px solid #e7e9ed;
  }
  .topbar.menu-open nav { display: flex; }
  .topbar nav a { display: block; padding: 12px 4px; }
  .topbar > .btn.green {
    position: fixed;
    left: 50%;
    bottom: max(16px, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    z-index: 60;
    width: min(340px, calc(100vw - 32px));
    min-height: 52px;
    box-shadow: 0 8px 24px #c915474d;
  }
  body { padding-bottom: 84px; }
}
@media (min-width: 701px) {
  .menu-toggle { display: none; }
}

@media (max-width: 700px) { .topbar { height: auto; min-height: 82px; } }