/* sitewide-polish-0305a */
/* 0305a site-wide crisp spacing + alignment polish */
html { -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
body { letter-spacing: -0.01em; }
.container {
  width: min(1088px, calc(100% - 48px)) !important;
  max-width: 1088px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
section { padding-top: 56px !important; padding-bottom: 56px !important; }
.hero { padding-top: 64px !important; padding-bottom: 56px !important; }
.about-hero { padding-top: 58px !important; padding-bottom: 42px !important; }
.profile-section { padding-top: 28px !important; padding-bottom: 38px !important; }
.about-cta, .cta { padding-top: 46px !important; padding-bottom: 56px !important; }
.faq { padding-top: 54px !important; padding-bottom: 54px !important; }
.section-head { margin-bottom: 26px !important; gap: 24px !important; }
.section-head h2 { letter-spacing: -0.055em !important; }
.section-head p, p { line-height: 1.62 !important; }
.cards, .process { gap: 16px !important; }
.card, .step, .profile-card, .contact-panel { border-radius: 24px !important; }
.card { padding: 24px !important; }
.step { padding: 24px !important; min-height: 176px; }
.step::before { margin-bottom: 22px !important; }
.profile-card { padding: clamp(24px, 3vw, 34px) !important; margin-bottom: 16px !important; }
.profile-card p { margin-bottom: 12px !important; }
.about-summary-card, .cta-box { border-radius: 30px !important; }
.hero-grid, .about-summary-grid, .contact-grid { gap: 38px !important; }
.about-hero-grid { grid-template-columns: 1.03fr .97fr !important; gap: 42px !important; align-items: center !important; }
.about-portrait { min-height: 500px !important; border-radius: 30px !important; }
.about-page-copy { margin-top: 0 !important; }
.about-page-copy h1 { font-size: clamp(2.45rem, 5vw, 4.25rem) !important; margin-bottom: 16px !important; }
.about-page-copy p { font-size: 1.04rem !important; line-height: 1.68 !important; margin-bottom: 14px !important; }
.about-image, .portrait { border-radius: 26px !important; }
.portrait { min-height: 500px !important; }
.contact-grid { align-items: stretch !important; }
footer { padding-top: 28px !important; padding-bottom: 28px !important; }
.whatsapp { right: 22px !important; bottom: 22px !important; }
@media (max-width: 900px) {
  .container { width: min(100% - 36px, 1088px) !important; }
  section { padding-top: 44px !important; padding-bottom: 44px !important; }
  .hero, .about-hero { padding-top: 48px !important; }
  .about-hero-grid { grid-template-columns: 1fr !important; }
  .about-portrait, .portrait { min-height: 390px !important; }
  .section-head { display: block !important; }
  .section-head p { margin-top: 10px !important; }
}
@media (max-width: 560px) {
  .container { width: min(100% - 28px, 1088px) !important; }
  section { padding-top: 36px !important; padding-bottom: 36px !important; }
  .card, .step, .profile-card, .contact-panel { padding: 22px !important; }
  .about-portrait, .portrait { min-height: 340px !important; }
}

/* social-footer-links-20260603 */
.tep-approved-footer .tep-socials{display:flex!important;gap:10px!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;}
.tep-approved-footer .tep-socials a{min-width:34px!important;width:auto!important;height:34px!important;padding:0 10px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:800!important;text-transform:uppercase!important;}
@media(max-width:760px){.tep-approved-footer .tep-socials{justify-content:center!important;}}

/* tep-brand-social-icons-20260603b */
.tep-approved-footer .tep-socials{display:flex!important;justify-content:center!important;align-items:center!important;gap:12px!important;margin-bottom:24px!important;flex-wrap:wrap!important;}
.tep-approved-footer .tep-socials a{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;border-radius:0!important;background:transparent!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;text-decoration:none!important;}
.tep-approved-footer .tep-socials a:hover{transform:translateY(-1px)!important;background:transparent!important;opacity:.92!important;}
.tep-approved-footer .tep-socials a img{display:block!important;width:28px!important;height:28px!important;object-fit:contain!important;border-radius:0!important;}
@media(max-width:760px){.tep-approved-footer .tep-socials{gap:10px!important}.tep-approved-footer .tep-socials a,.tep-approved-footer .tep-socials a img{width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;}}

/* tep-whatsapp-contact-icon-20260603 */
.tep-approved-footer .tep-contact-icon-whatsapp{display:inline-block!important;width:18px!important;height:18px!important;vertical-align:-3px!important;margin-right:10px!important;flex:0 0 18px!important;}
.tep-approved-footer .tep-footer-contact p a{vertical-align:middle!important;}
@media(max-width:760px){.tep-approved-footer .tep-contact-icon-whatsapp{width:17px!important;height:17px!important;margin-right:8px!important;vertical-align:-2px!important;}}

/* r30-sitewide-improvements */
.tep-menu-toggle{display:none;border:1px solid rgba(11,74,71,.2);background:#fff;color:#0b4a47;border-radius:12px;width:46px;height:42px;padding:9px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.tep-menu-toggle span{display:block;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.tep-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.tep-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.tep-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.form-consent{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:.88rem;line-height:1.45;color:#5f7372}
.form-consent input{width:18px!important;height:18px;margin:2px 0 0;padding:0;accent-color:#0b4a47}
.form-consent a,.tep-privacy-link{color:#0b4a47;text-decoration:underline;text-underline-offset:2px}
.form-consent.invalid{color:#9b3333}
.privacy-page{padding:64px 0 80px;background:#fbf7f1}
.privacy-wrap{width:min(900px,calc(100% - 40px));margin:0 auto}
.privacy-page h1{color:#0b4a47;font-size:clamp(2.6rem,6vw,4.8rem);margin:0 0 12px;letter-spacing:-.055em}
.privacy-updated{color:#6b746f;margin:0 0 36px}
.privacy-card{background:#fff;border:1px solid rgba(37,48,43,.1);border-radius:28px;padding:clamp(24px,5vw,48px);box-shadow:0 18px 46px rgba(54,72,64,.08)}
.privacy-card h2{color:#0b4a47;font-size:1.45rem;margin:32px 0 10px}
.privacy-card h2:first-child{margin-top:0}.privacy-card p,.privacy-card li{color:#53605b}.privacy-card a{color:#0b4a47;text-decoration:underline}
@media(max-width:900px){
  .site-nav.tep-approved-header .tep-header-inner{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;padding:14px 0!important}
  .site-nav.tep-approved-header .tep-brand-block{margin:0 auto!important}
  .site-nav.tep-approved-header .tep-menu-toggle{display:flex!important;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:3}
  .site-nav.tep-approved-header .tep-nav-menu{display:none!important;flex:0 0 100%!important;width:100%!important;margin:14px 0 0!important;padding:10px 0 4px!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;border-top:1px solid rgba(11,74,71,.12)}
  .site-nav.tep-approved-header.is-menu-open .tep-nav-menu{display:flex!important}
  .site-nav.tep-approved-header .tep-nav-menu a{display:block!important;padding:12px 10px!important;text-align:center!important;border-radius:10px}
  .site-nav.tep-approved-header .tep-nav-menu a:hover,.site-nav.tep-approved-header .tep-nav-menu a:focus-visible{background:rgba(11,74,71,.07)}
}
@media(max-width:480px){.site-nav.tep-approved-header .tep-logo{width:180px!important}.privacy-page{padding-top:42px}}


/* R40 keyboard accessibility */
.tep-skip-link{
  position:fixed;left:18px;top:12px;z-index:10000;
  transform:translateY(-160%);padding:12px 18px;border-radius:10px;
  background:#0b4a47;color:#fff!important;font-weight:800;
  box-shadow:0 10px 30px rgba(0,0,0,.2);transition:transform .16s ease;
}
.tep-skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid #c8953d!important;outline-offset:3px!important;
  box-shadow:0 0 0 6px rgba(200,149,61,.18)!important;
}
.tep-nav-menu a:focus-visible,.tep-socials a:focus-visible{border-radius:8px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

