.site-logo{display:block;max-width:210px;max-height:56px;width:auto;height:auto;object-fit:contain}
body{font-family:var(--font-body),sans-serif}
h1,h2,h3,.brand b,.steps span,.approach blockquote,.accordion summary{font-family:var(--font-heading),serif}
.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}
.media-grid>div{border:1px solid #dce4de;border-radius:12px;padding:16px;background:#fff}
.media-grid img{display:block;width:100%;height:130px;object-fit:contain;margin:10px 0}
.list-row small{display:block;color:#718079;margin-top:4px;max-width:700px}
.message{border-bottom:1px solid #e1e7e3;padding:18px 0}
@media(max-width:760px){.site-logo{max-width:170px;max-height:48px}}
.site-header{height:92px}
.site-header .header-inner{padding-top:2px;padding-bottom:2px}
.site-header .site-logo{width:clamp(290px,24vw,360px);max-width:none;max-height:90px;height:auto;object-fit:contain}
.site-footer .site-logo{width:clamp(290px,24vw,360px);max-width:none;max-height:90px;height:auto;object-fit:contain;filter:none}
/* Compensa a margem transparente embutida no PNG para alinhar a arte ao eixo do conteudo. */
.site-header .site-logo,.site-footer .site-logo{transform:translateX(-3.23%)}
.site-header .site-logo{transform:translateX(calc(-3.23% - 20px))}
.site-footer .site-logo{transform:translateX(calc(-3.23% - 20px))}
.site-footer .brand{width:max-content;max-width:100%}
.hero{min-height:calc(100vh - 92px)}
@media(max-width:1199px){.desktop-nav,.header-cta{display:none!important}.menu-toggle{display:block!important;margin-left:auto;flex:0 0 auto;position:relative;z-index:3}.menu-toggle i{width:30px;height:2px;margin:6px 0}.header-inner{justify-content:space-between}.menu-panel .button{display:inline-flex!important;width:100%;min-height:50px}}
@media(max-width:760px){.site-header{height:76px}.site-header .header-inner{padding-top:1px;padding-bottom:1px}.site-header .site-logo,.site-footer .site-logo{width:min(280px,76vw);max-height:74px}.hero{min-height:calc(100vh - 76px)}}
/* Mantem cabecalho, conteudo e rodape com a mesma largura visual da pagina. */
.container {
  width: calc(100% - clamp(32px, 5vw, 80px));
  max-width: 1440px;
}

@media (max-width: 760px) {
  .container {
    width: calc(100% - 30px);
  }
}

/* Font Awesome 6: linguagem visual da pagina publica. */
.button,.outline-button,.text-link,.modes a,.post-card a{gap:.55em}
.button,.outline-button,.text-link,.modes a,.post-card a,.footer-links a,.footer-bottom a{display:inline-flex;align-items:center}
.button .fa-solid,.outline-button .fa-solid{font-size:.92em}
.text-link .fa-arrow-right,.modes .fa-arrow-right,.post-card .fa-arrow-right{font-size:.78em;transition:transform .2s ease}
.text-link:hover .fa-arrow-right,.modes a:hover .fa-arrow-right,.post-card a:hover .fa-arrow-right{transform:translateX(4px)}
.card .card-icon{display:flex;align-items:center;justify-content:space-between;color:var(--primary);font-size:1.35rem;margin-bottom:22px}
.card .card-icon small{font:700 .68rem/1 Montserrat,sans-serif;color:var(--accent);letter-spacing:.08em}
.card .card-icon .fa-solid{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#edf3ee}
.modes b{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e4ece5;font-size:1.45rem;margin-bottom:22px}
.steps b{display:flex;align-items:center;gap:9px}
.steps b .fa-solid{font-size:20px;color:#fff}
.online-art>.fa-solid{font-size:8rem;opacity:.14;transform:translateY(-34px)}
.online-art.has-image{background-position:center;background-size:cover;overflow:hidden;isolation:isolate}
.online-art.has-circular-art{background-size:145% auto}
.online-art.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(25,61,49,.38),rgba(25,61,49,.7));z-index:-1}
.online-art.has-image>.fa-solid{opacity:.3}
.online-art span{width:min(80%,240px)}
.section-title-icon{font-size:.68em;color:var(--primary);margin-right:.18em}
.post-image .fa-solid{font-size:3.6rem}
.post-image.has-image{position:relative;overflow:hidden;background-position:center;background-size:cover;isolation:isolate;color:#fff}
.post-image.has-image:before{content:"";position:absolute;inset:0;background:rgba(25,61,49,.38);z-index:-1}
.post-image.has-image .fa-solid{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}
.post-card>span .fa-solid{margin-right:.38em}
.cta-section>.container>span .fa-solid{font-size:30px}
.contact-form label>.fa-solid{width:1.2em;color:var(--primary);margin-right:.25em}
.footer-links{gap:3px}
.footer-links h3 .fa-solid,.footer-contact h3 .fa-solid{color:#fff;margin-right:.35em}
.footer-links a{gap:.6em}
.footer-links a .fa-solid{width:13px;font-size:.68rem;color:#8eaa9d}
.footer-contact p span{display:flex;align-items:flex-start;gap:.7em;margin:8px 0}
.footer-contact p .fa-solid{width:16px;color:#fff;margin-top:.35em}
.footer-bottom a{gap:.42em}
.footer-bottom .fa-solid{font-size:.82em;color:#fff}
.whatsapp,.cookie-settings{bottom:25px;width:58px;height:58px;padding:0}
.cookie-settings{font-size:26px;cursor:pointer}
.cookie-banner b .fa-solid{margin-right:.45em;color:var(--primary)}
.cookie-banner button{display:inline-flex;align-items:center;gap:.45em}
.whatsapp svg{display:block;width:26px;height:26px}
.contact-direct{display:grid;gap:16px;margin:24px 0}
.contact-direct p{margin:0}
.contact-direct b,.contact-direct a,.contact-direct span{display:block}
.contact-direct b{color:var(--ink);margin-bottom:4px}
.contact-direct b .fa-solid{width:1.35em;color:var(--primary);margin-right:.3em}
.contact-direct a{width:max-content;max-width:100%;color:var(--primary);font-weight:600;text-decoration:underline;text-decoration-color:rgba(49,92,75,.3);text-underline-offset:4px}
.contact-direct a:hover{text-decoration-color:currentColor}
.portrait-placeholder[src]{width:100%;object-fit:cover}
.page-hero.has-image{position:relative;isolation:isolate;overflow:hidden}
.page-hero.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,244,237,.45),rgba(247,244,237,.7) 50%,rgba(247,244,237,.45));z-index:-1}
.page-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero.has-image .container{position:relative}
.privacy-note{display:flex;align-items:flex-start;gap:12px;padding:17px 18px}
.privacy-note>.fa-solid{flex:0 0 auto;color:#a45f24;margin-top:.28em}
.privacy-note strong{color:var(--ink)}
.content-intro{max-width:800px;margin:0 auto 42px;text-align:center;font-size:1.08rem}
.post-image{overflow:hidden}
.post-image img{display:block;width:100%;height:100%;object-fit:cover}
.post-detail-image{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;margin:0 0 32px;border-radius:var(--radius)}
.post-share{margin-top:52px;padding-top:28px;border-top:1px solid #dce4de}
.post-share h2{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:1.45rem}
.post-share h2 .fa-solid{font-size:1.05rem;color:var(--primary)}
.post-share-links{display:flex;flex-wrap:wrap;gap:10px}
.post-share-link{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:8px 14px;border:1px solid #dce4de;border-radius:var(--radius);color:var(--primary);font-size:.85rem;font-weight:700;line-height:1.2;background:#fff;transition:background .2s,border-color .2s,transform .2s}
.post-share-link:hover,.post-share-link:focus-visible{background:#edf3ee;border-color:#aebdb5;transform:translateY(-2px)}
.post-share-mark{display:grid;place-items:center;min-width:22px;height:22px;font-size:1.2rem;font-weight:800;line-height:1}
.post-share-mark svg{display:block}
.facebook-share .post-share-mark{font-family:Arial,sans-serif;font-size:1.35rem}
.linkedin-share .post-share-mark{font-family:Arial,sans-serif;font-size:1rem;letter-spacing:-.08em}
.telegram-share .post-share-mark{font-size:1rem}
.footer-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.footer-socials a{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.07);color:#fff;font-size:1.25rem;transition:background .2s,transform .2s}
.footer-socials a:hover,.footer-socials a:focus-visible{background:rgba(255,255,255,.18);transform:translateY(-2px)}
@media (min-width:1200px){.menu-overlay{display:none}}
@media (max-width:1199px){
  .menu-overlay{position:fixed;inset:0;z-index:1000;background:#f6f8f5;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
  .menu-overlay.open{visibility:visible;opacity:1;pointer-events:auto}
  .menu-panel{box-sizing:border-box;width:100%;max-width:none;height:100vh;height:100dvh;margin:0;padding:clamp(18px,3vw,36px);overflow-y:auto;overscroll-behavior:contain;background:#f6f8f5;transform:translateY(-12px);display:flex;flex-direction:column;gap:0}
  .menu-overlay.open .menu-panel{transform:translateY(0)}
  .menu-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid #dce6de}
  .menu-panel-head .brand{min-width:0}
  .menu-panel-head .site-logo{width:min(300px,65vw);max-width:none;max-height:74px;transform:none}
  .menu-close{position:static;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;padding:0;border:1px solid #cddbd1;border-radius:var(--radius);background:#fff;color:var(--ink);font-size:1.5rem;cursor:pointer}
  .menu-panel nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:10px 18px;flex:1;padding:20px 0}
  .menu-panel nav a{display:flex;align-items:center;min-height:50px;padding:10px 18px;border:1px solid #e0e9e2;border-radius:var(--radius);background:#fff;color:var(--ink);font:600 clamp(1rem,1.7vw,1.3rem)/1.25 var(--font-heading),sans-serif}
  .menu-panel nav a:hover,.menu-panel nav a:focus-visible{border-color:var(--primary);color:var(--primary);background:#eef3ee}
  .menu-panel .menu-appointment{align-self:center;width:min(100%,420px);margin:8px auto 0}
}
@media (max-width:650px){
  .menu-panel{padding:16px 18px 22px}
  .menu-panel-head .site-logo{width:min(235px,62vw);max-height:58px}
  .menu-panel nav{grid-template-columns:1fr;align-content:start;gap:6px;padding:14px 0}
  .menu-panel nav a{min-height:44px;padding:9px 15px;font-size:1rem}
  .menu-panel .menu-appointment{flex:0 0 auto;min-height:48px}
}
@media (prefers-reduced-motion:reduce){.menu-overlay,.menu-panel{transition:none!important}}

/* Aparência: um único controle de cantos para os componentes públicos. */
.button,.outline-button,.skip,
.card,.post-card,.modes article,.contact-form,
.post-image,.portrait-placeholder,.online-art,
.accordion details,.contact-form input,.contact-form textarea,
.privacy-note,.notice,.prose blockquote,.approach blockquote,
.cookie-banner,.cookie-banner button,.whatsapp,.cookie-settings,.footer-socials a,
.brand-mark,.card .card-icon .fa-solid,.modes b{
  border-radius:var(--radius);
}
.accordion{display:grid;gap:12px}
.accordion details{border:1px solid #dce3dd}
.prose blockquote,.approach blockquote{padding:1em 1.25em;background:var(--cream);border-left:2px solid var(--accent)}
.prose blockquote{margin:1.5em 0}
