
:root{--navy:#102d4f;--blue:#17689a;--blue2:#0f577f;--soft:#eef5f9;--cream:#fbfaf8;--ink:#1d2935;--muted:#657485;--gold:#a8804f;--white:#fff;--line:#dbe5ec;--shadow:0 20px 55px rgba(15,43,73,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.68;background:#fff;font-size:16px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}.topbar{background:var(--navy);color:#e7f0f7;font-size:.87rem;padding:.45rem 0}.topbar .container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}header{background:rgba(255,255,255,.97);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:1.2rem}.brand{font-weight:800;color:var(--navy);font-size:1.15rem;line-height:1.2}.brand small{display:block;font-weight:500;color:var(--muted);font-size:.76rem;margin-top:.25rem}.menu{display:flex;gap:1.05rem;align-items:center;flex-wrap:wrap}.menu a{color:var(--ink);font-weight:650;font-size:.94rem}.btn{display:inline-block;background:var(--blue);color:#fff!important;padding:.78rem 1.1rem;border-radius:9px;font-weight:750;text-decoration:none!important;border:1px solid var(--blue)}.btn:hover{background:var(--blue2)}.btn.outline{background:transparent;color:var(--blue)!important}.hero{padding:4.8rem 0;background:linear-gradient(125deg,#f8fbfd 0%,#eef5f8 62%,#e6f0f5 100%)}.hero-grid{display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:4rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--blue);font-size:.76rem;font-weight:850}.hero h1,.page-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.45rem,5vw,4.8rem);line-height:1.04;color:var(--navy);margin:.6rem 0 1.1rem;font-weight:700}.hero p{font-size:1.12rem;color:#425363;max-width:680px}.hero-portrait{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.hero-portrait img{width:100%;height:640px;object-fit:cover;object-position:center center}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.trust{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;color:var(--muted);font-size:.9rem}.trust span{padding:.35rem .65rem;background:#fff;border:1px solid var(--line);border-radius:999px}.section{padding:4.7rem 0}.section.alt{background:var(--soft)}.section.cream{background:var(--cream)}.section h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.18;color:var(--navy);margin:.2rem 0 1rem}.section h3{color:var(--navy)}.lead{font-size:1.08rem;color:#465766;max-width:820px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}.card{border:1px solid var(--line);border-radius:15px;padding:1.45rem;background:#fff;box-shadow:0 8px 24px rgba(20,55,80,.045)}.card h3{margin:.2rem 0 .55rem}.badge{display:inline-block;background:#e8f2f7;color:var(--blue2);padding:.28rem .62rem;border-radius:999px;font-size:.76rem;font-weight:800}.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}.split.image-wide{grid-template-columns:.9fr 1.1fr}.split img{border-radius:16px;box-shadow:var(--shadow);max-height:590px;width:100%;object-fit:cover}.portrait-contain img{object-fit:contain;background:#f7f7f7}.photo-frame{border-radius:18px;overflow:hidden;background:#f3f5f6;box-shadow:var(--shadow)}.photo-frame img{width:100%;height:auto;max-height:620px;object-fit:cover}.credentials{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem}.credential{background:#fff;border-left:4px solid var(--gold);padding:1rem 1.1rem;border-radius:6px;box-shadow:0 6px 20px rgba(20,55,80,.04)}.credential strong{display:block;color:var(--navy);margin-bottom:.25rem}.quote{font-family:Georgia,serif;font-size:1.35rem;color:var(--navy);border-left:4px solid var(--gold);padding-left:1.2rem}.cta{background:var(--navy);color:#fff;padding:3.4rem 0}.cta h2{color:#fff}.page-hero{padding:3.9rem 0;background:linear-gradient(125deg,#f7fafc,#edf4f8)}.page-hero h1{font-size:clamp(2.2rem,4vw,3.65rem)}.breadcrumb{font-size:.89rem;color:var(--muted)}main article{max-width:840px;margin:auto}.article-meta{color:var(--muted);font-size:.9rem}.article-body h2{margin-top:2.25rem;color:var(--navy);font-family:Georgia,serif;font-size:1.7rem}.article-body h3{color:var(--navy)}.article-body p{margin:1rem 0}.article-body .note,.note{background:#f1f6f9;border-left:4px solid var(--blue);padding:1rem 1.2rem;border-radius:6px}.author{border-top:1px solid var(--line);padding-top:1.4rem;margin-top:2.3rem}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.blog-card{border:1px solid var(--line);border-radius:12px;background:#fff;min-height:260px}.blog-card .pad{padding:1.2rem}.blog-card h2,.blog-card h3{font-size:1.15rem;margin:.2rem 0 .55rem;color:var(--navy)}.faq details{border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;margin:.75rem 0;background:#fff}.faq summary{font-weight:750;color:var(--navy);cursor:pointer}.map-wrap{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);min-height:420px}.map-wrap iframe{display:block;width:100%;height:440px;border:0}.contact-box{background:#fff;border:1px solid var(--line);border-radius:15px;padding:1.5rem}.social-links{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.social-links a{border:1px solid var(--line);padding:.55rem .78rem;border-radius:8px;font-weight:700}.footer{background:#081d31;color:#c8d6e3;padding:3.2rem 0 1rem}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:2rem}.footer h3{color:#fff}.footer a{color:#d8e7f2}.legal{border-top:1px solid #ffffff1f;margin-top:2rem;padding-top:1rem;font-size:.83rem;color:#9db0c0}.pill-links{display:flex;flex-wrap:wrap;gap:.55rem}.pill-links a{border:1px solid var(--line);background:#fff;padding:.55rem .75rem;border-radius:999px;font-weight:650}.notice{font-size:.92rem;color:var(--muted)}


/* Refinements: maps, text-only secondary program block and responsive navigation */
.narrow-section{max-width:900px}
.location-summary{margin-bottom:1.4rem;display:grid;grid-template-columns:1.35fr auto;align-items:center;gap:1.5rem}
.location-summary .actions{margin-top:0;justify-content:flex-end}
.map-large{min-height:540px;margin-top:1.4rem}
.map-large iframe{height:540px}
.menu-toggle{display:none;background:transparent;border:0;padding:.55rem;cursor:pointer}
.menu-toggle span{display:block;width:26px;height:2px;background:var(--navy);margin:5px 0;border-radius:2px;transition:.2s}

@media(max-width:900px){
  .hero-grid,.split,.grid-3,.grid-2,.blog-grid,.footer-grid,.credentials{grid-template-columns:1fr}
  .topbar .container{justify-content:center;text-align:center}
  .section{padding:3.25rem 0}
  .hero{padding:3rem 0}
  .hero-grid{gap:2rem}
  .hero-portrait img{height:auto;max-height:none;object-fit:contain}
  .nav{min-height:70px;position:relative;align-items:center}
  .brand{font-size:1.02rem;max-width:72%}
  .menu-toggle{display:block;margin-left:auto}
  .menu{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 34px rgba(15,43,73,.13);padding:1rem 4%;flex-direction:column;align-items:stretch;gap:0;z-index:50}
  .menu.open{display:flex}
  .menu a{padding:.75rem .4rem;border-bottom:1px solid #edf2f5}
  .menu a:last-child{border-bottom:0;margin-top:.45rem;text-align:center}
  .location-summary{grid-template-columns:1fr;gap:.5rem}
  .location-summary .actions{justify-content:flex-start;margin-top:.8rem}
  .map-wrap,.map-large{min-height:420px}
  .map-wrap iframe,.map-large iframe{height:420px}
  .page-hero{padding:2.7rem 0}
  .hero h1,.page-hero h1{font-size:clamp(2.15rem,10vw,3.2rem)}
}

@media(max-width:560px){
  body{font-size:15.5px}
  .container{width:min(100% - 32px,1180px)}
  .topbar{font-size:.79rem}
  .brand small{font-size:.7rem}
  .section{padding:2.65rem 0}
  .hero{padding:2.5rem 0}
  .hero h1,.page-hero h1{font-size:clamp(2rem,11vw,2.8rem)}
  .hero p,.lead{font-size:1rem}
  .actions{flex-direction:column;align-items:stretch}
  .actions .btn{text-align:center;width:100%}
  .card,.contact-box{padding:1.15rem}
  .map-wrap,.map-large{min-height:360px;border-radius:12px}
  .map-wrap iframe,.map-large iframe{height:360px}
  .faq details{padding:.9rem}
  .footer{padding-top:2.4rem}
}

/* v3: imagens institucionais reais, sem capturas de tela */
.section .photo-frame img{object-position:center 22%;}
@media(max-width:720px){.section .photo-frame img{max-height:none;object-fit:contain;background:#f6f7f7}.split>img{max-height:none;object-fit:contain;background:#f6f7f7}}


/* v4 — refinamento visual: preservar rostos, ambiente e depoimentos */
.section .photo-frame img,
.split .photo-frame img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center top;
  background:#f7f8f8;
}
.hero-portrait img{object-position:center 18%;}
.environment-photo img{width:100%;height:auto;object-fit:cover;object-position:center;border-radius:18px;box-shadow:var(--shadow)}
.testimonials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.7rem}
.testimonial{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.35rem 1.4rem;box-shadow:0 8px 24px rgba(20,55,80,.04)}
.testimonial blockquote{margin:0 0 1rem;font-family:Georgia,"Times New Roman",serif;color:#33485b;font-size:1.05rem;line-height:1.62}
.testimonial .person{border-top:1px solid var(--line);padding-top:.8rem;color:var(--navy);font-weight:800}
.testimonial .role{display:block;font-weight:500;color:var(--muted);font-size:.9rem;margin-top:.12rem}
.footer-credit{margin-top:.6rem;color:#8fa7ba;font-size:.8rem}.footer-credit a{color:#b9cee0;text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.testimonials-grid{grid-template-columns:1fr}.section .photo-frame img,.split .photo-frame img{max-height:none}}

/* v5 — retratos nunca devem ser cortados */
.photo-frame{overflow:hidden;display:flex;align-items:flex-start;justify-content:center}
.photo-frame img,
.section .photo-frame img,
.split .photo-frame img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center top !important;
  aspect-ratio:auto !important;
}
/* fotos de pessoas não usam recorte de preenchimento */
.person-photo img,
.portrait-full img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center top !important;
}
@media(max-width:900px){
  .photo-frame img,.section .photo-frame img,.split .photo-frame img{height:auto !important;max-height:none !important;object-fit:contain !important}
}
