/* Ajustes de acabamento: contato, header e identidade visual */
@media(max-width:1120px){
  .topbar{position:fixed;justify-content:space-between;padding-left:24px;padding-right:24px;}
  .topbar .brand{position:relative;z-index:2;}
  .topbar .start{position:relative;z-index:2;}
  .topbar .menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;margin:0!important;}
}

/* elementos leves da identidade nos blocos */
.section{overflow:hidden;}
.section>.container{position:relative;z-index:1;}
.section>.container:before{content:"";position:absolute;right:-34px;top:-30px;width:142px;height:142px;border:1px solid rgba(192,165,125,.22);border-radius:999px;opacity:.55;pointer-events:none;}
.section>.container:after{content:"";position:absolute;right:18px;top:-4px;width:86px;height:86px;opacity:.16;pointer-events:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2305555F' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 94c20-38 43-55 78-67'/%3E%3Cpath d='M47 69c-15 1-27-5-34-17 15-2 28 4 34 17z'/%3E%3Cpath d='M65 55c-11-9-16-21-12-35 13 8 18 20 12 35z'/%3E%3Cpath d='M83 43c-1-13 5-24 18-31 2 14-4 25-18 31z'/%3E%3Cpath d='M74 72c13-9 26-11 39-4-12 10-25 11-39 4z'/%3E%3C/g%3E%3C/svg%3E");}
.hero>.container:before,.hero>.container:after,.contact-panel:before,.contact-panel:after{display:none!important;}
.intro,.specialties,#programas,.assessments,.clinic-gallery,#convenios,.team,.maps-reviews,.contact{background-image:radial-gradient(circle at 8% 18%,rgba(132,223,211,.10),transparent 28%),radial-gradient(circle at 90% 70%,rgba(212,105,61,.07),transparent 30%);}
.essence-card,.essence-cards article,.specialty,.price-card,.plan-card,.team-grid article,.map-card,.contact-panel{position:relative;overflow:hidden;}
.essence-cards article:before,.specialty:before,.price-card:before,.plan-card:before,.team-grid article:before,.map-card:before,.contact-panel:before{content:"";position:absolute;right:-42px;bottom:-44px;width:140px;height:140px;border:1px solid rgba(192,165,125,.18);border-radius:999px;pointer-events:none;}
.essence-cards article:after,.specialty:after,.price-card:after,.plan-card:after,.team-grid article:after,.map-card:after,.contact-panel:after{content:"";position:absolute;right:18px;bottom:18px;width:54px;height:54px;opacity:.08;pointer-events:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 72 72' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2305555F' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M18 18c7 19 14 30 22 40 6-20 11-33 21-44'/%3E%3Ccircle cx='29' cy='31' r='4.8' fill='%2305555F' stroke='none'/%3E%3Cpath d='M40 31c10-8 16-11 22-10-3 6-9 9-19 11M42 40c9-6 15-7 20-5-4 5-10 7-20 7' stroke='%23C0A57D' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");}
.price-card.featured:after{opacity:.14;filter:brightness(0) invert(1);}
.price-card.featured:before{border-color:rgba(255,255,255,.18);}

/* galeria da clínica mais leve com identidade */
.gallery-grid figure{position:relative;isolation:isolate;border:1px solid rgba(5,85,95,.11);background:linear-gradient(180deg,#fffdf8,#f8f6f1);box-shadow:0 18px 46px rgba(5,85,95,.10);}
.gallery-grid figure:before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 18% 18%,rgba(132,223,211,.16),transparent 25%),radial-gradient(circle at 86% 80%,rgba(234,171,129,.14),transparent 28%);pointer-events:none;}
.gallery-grid figure:after{content:"";position:absolute;right:18px;top:18px;width:92px;height:92px;z-index:2;opacity:.16;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 72 72' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='36' cy='36' r='33' fill='none' stroke='%2305555F' stroke-width='1.4' opacity='.55'/%3E%3Cpath d='M18 18c7 19 14 30 22 40 6-20 11-33 21-44' fill='none' stroke='%2305555F' stroke-width='4' stroke-linecap='round'/%3E%3Ccircle cx='29' cy='31' r='4.8' fill='%2305555F'/%3E%3Cpath d='M40 31c10-8 16-11 22-10-3 6-9 9-19 11M42 40c9-6 15-7 20-5-4 5-10 7-20 7' fill='none' stroke='%23C0A57D' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");pointer-events:none;}
.gallery-grid img{position:relative;z-index:0;}
.gallery-grid figcaption{z-index:3!important;display:inline-flex!important;align-items:center;gap:10px;}
.gallery-grid figcaption:before{content:"";width:18px;height:18px;flex:0 0 18px;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 72 72' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 18c7 19 14 30 22 40 6-20 11-33 21-44' fill='none' stroke='%2305555F' stroke-width='5' stroke-linecap='round'/%3E%3Ccircle cx='29' cy='31' r='5' fill='%2305555F'/%3E%3Cpath d='M40 31c10-8 16-11 22-10-3 6-9 9-19 11' fill='none' stroke='%23C0A57D' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");}

/* Instagram clicável */
.instagram-link{color:#05555F;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(5,85,95,.25);transition:.2s ease;}
.instagram-link:hover{color:#01758C;border-bottom-color:rgba(1,117,140,.55);}
.contact-instagram-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:16px;min-height:48px;padding:12px 22px;border-radius:999px;background:#fff;color:#05555F;border:1px solid rgba(5,85,95,.14);font-weight:800;text-decoration:none;box-shadow:0 10px 24px rgba(5,85,95,.08);}
.contact-instagram-cta:before{content:"";width:18px;height:18px;border-radius:6px;margin-right:9px;background:linear-gradient(135deg,#D4693D,#01758C);}
.contact-instagram-cta:hover{transform:translateY(-1px);}

.contact{background:linear-gradient(180deg,#fffdf8 0%,#f8f6f1 58%,rgba(132,223,211,.16) 100%)!important;padding-top:92px!important;padding-bottom:118px!important;}
.contact-panel{width:min(1180px,calc(100% - 44px))!important;max-width:1180px!important;display:grid!important;grid-template-columns:.9fr 1.1fr!important;gap:56px!important;text-align:left!important;align-items:start;background:rgba(255,253,248,.76)!important;border:1px solid var(--line)!important;border-radius:34px!important;padding:42px!important;box-shadow:var(--shadow)!important;}
.contact-panel>div{max-width:none!important;margin:0!important;text-align:left!important;}
.contact-panel #contactForm{max-width:none!important;margin:0!important;width:100%!important;}
.contact-panel h2{font-size:clamp(2.8rem,4.8vw,4.7rem)!important;}
.contact-panel p{font-size:1.02rem!important;line-height:1.7!important;}
.contact-panel input,.contact-panel select,.contact-panel textarea{min-height:58px!important;background:#fff!important;border-radius:22px!important;}
.contact-panel textarea{min-height:150px!important;}
.contact-panel .btn{min-height:56px!important;}
.contact:after{content:"";position:absolute;right:5%;bottom:70px;width:210px;height:86px;border:1px solid rgba(192,165,125,.34);border-left:0;border-radius:0 999px 999px 0;opacity:.6;pointer-events:none;}

@media(max-width:760px){
  .topbar{height:70px!important;padding-left:24px!important;padding-right:24px!important;}
  .topbar .start{padding:12px 21px!important;}
  .section>.container:before{right:-74px;top:-40px;width:126px;height:126px;}
  .section>.container:after{right:-2px;top:-4px;width:64px;height:64px;}
  .gallery-grid figure:after{width:70px;height:70px;right:14px;top:14px;}
  .contact{padding-top:72px!important;padding-bottom:116px!important;}
  .contact-panel{width:min(100% - 32px,1180px)!important;grid-template-columns:1fr!important;gap:28px!important;border-radius:30px!important;padding:28px 22px!important;text-align:left!important;}
  .contact-panel>div{text-align:center!important;}
  .contact-panel h2{font-size:3rem!important;line-height:.98!important;}
  .contact-panel p{font-size:1rem!important;}
  .contact-panel #contactForm{gap:12px!important;}
  .contact-panel input,.contact-panel select{min-height:58px!important;border-radius:20px!important;font-size:1rem!important;}
  .contact-panel textarea{min-height:132px!important;border-radius:22px!important;font-size:1rem!important;}
  .contact-panel button[type="submit"]{margin-top:4px!important;}
}
