
/* Etapa 4 — camadas institucionais em unidade com o sistema aprovado */
.ip-page{background:#fff;color:#173246;font-family:Arial,Helvetica,sans-serif}
.ip-shell{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.ip-kicker{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:750;color:#9d7743}
.ip-hero{isolation:isolate;position:relative;overflow:hidden;min-height:590px;display:flex;align-items:center;background:#f1efe9}
.ip-hero--short{min-height:490px}
.ip-hero-photo{position:absolute;inset:0 0 0 40%;background:#e5e2db;z-index:-2}
.ip-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.ip-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f6f4ef 0%,#f6f4ef 35%,rgba(246,244,239,.94) 45%,rgba(246,244,239,.54) 62%,rgba(246,244,239,.03) 90%)}
.ip-hero-content{padding:93px 0 94px;position:relative;z-index:2}
.ip-hero h1{font:400 clamp(44px,5.2vw,79px)/1.07 Georgia,serif;letter-spacing:-.045em;color:#102f41;max-width:770px;margin:20px 0 27px}
.ip-hero h1 em{font-weight:400;color:#a7824c}
.ip-hero p{max-width:540px;font:400 clamp(16px,1.5vw,20px)/1.65 Arial;color:#465963}
.ip-hero-actions,.ip-actions{display:flex;gap:13px;flex-wrap:wrap;align-items:center;margin-top:34px}
.ip-button{display:inline-flex;min-height:48px;align-items:center;gap:15px;text-decoration:none;padding:13px 22px;background:#102f41;color:white;font:700 13px/1.4 Arial;border:1px solid #102f41;transition:transform .2s}
.ip-button:hover{transform:translateY(-2px)}
.ip-button--outline{background:transparent;color:#102f41;border-color:#b1a084}
.ip-section{padding:94px 0}.ip-section--sand{background:#f3f1eb}.ip-section--navy{background:#102f41;color:white}
.ip-section h2{font:400 clamp(35px,4.1vw,59px)/1.13 Georgia,serif;letter-spacing:-.042em;max-width:950px;margin:14px 0 25px}
.ip-section h2 em{font-weight:400;color:#aa8651}
.ip-section p{color:#52636e;line-height:1.76;font-size:16px;max-width:780px}
.ip-section--navy p{color:#d0dde2}.ip-section--navy h2{color:white}
.ip-intro-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:min(10vw,130px);align-items:start}
.ip-lead{font:400 clamp(22px,2.4vw,32px)/1.52 Georgia,serif;color:#244356!important}
.ip-pictos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:37px}
.ip-picto{border-top:1px solid #bba47e;padding:22px 0 18px;min-width:0}
.ip-picto-icon{height:52px;width:52px;border:1px solid #bd9b63;border-radius:100%;display:flex;align-items:center;justify-content:center;color:#a57e46;margin-bottom:20px}
.ip-picto-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ip-picto h3{font:400 clamp(23px,2.3vw,32px)/1.13 Georgia,serif;margin:0 0 8px}
.ip-picto p{font-size:14px;margin:0}.ip-picto a{font-size:13px;text-decoration:none;color:#1b394d;border-bottom:1px solid #bb9d6b;display:inline-block;margin-top:13px}
.ip-link-list{margin:38px 0 0;padding:0;list-style:none;border-top:1px solid #c2ac87}
.ip-link-list li{border-bottom:1px solid #ded9d1}
.ip-link-list a{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:18px 0;text-decoration:none;font:400 clamp(22px,2.5vw,33px)/1.24 Georgia,serif}
.ip-link-list a:hover{color:#927146}.ip-link-list a span:last-child{font:400 24px Arial;color:#a67e46}
.ip-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px;margin-top:46px}
.ip-service-card{display:flex;flex-direction:column;text-decoration:none;border-top:1px solid #c6b08a;padding-top:12px;min-width:0}
.ip-card-photo{height:225px;background:#e6e3dc;overflow:hidden;position:relative}
.ip-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s}
.ip-service-card:hover img{transform:scale(1.035)}
.ip-service-card h3{font:400 clamp(23px,2vw,30px)/1.16 Georgia,serif;margin:20px 0 9px;color:#173649}
.ip-service-card p{font:400 14px/1.65 Arial;margin:0 0 17px;color:#53636c;flex:1}
.ip-service-card .ip-visit{font:700 12px Arial;color:#9f7742;letter-spacing:.04em;margin-top:4px}
.ip-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;margin-top:45px}
.ip-chapter{padding-top:16px;border-top:1px solid #bba67f}.ip-chapter h3{font:400 31px/1.2 Georgia;margin:12px 0 12px}.ip-chapter p{margin:0}
.ip-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:65px;align-items:center}
.ip-editorial img{width:100%;max-height:500px;object-fit:contain}
.ip-note{border-left:2px solid #b18b54;padding:0 0 0 19px;font-size:14px!important;color:#52646e!important;margin-top:25px}
.ip-pdf-cover{width:min(360px,100%);margin:auto;box-shadow:0 18px 50px #0e324521}
.ip-reading-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;align-items:start;margin-top:32px}
.ip-reader-toc{position:sticky;top:90px;display:flex;flex-direction:column;gap:9px;border-top:1px solid #c5ad8b;padding-top:20px}
.ip-reader-toc a{text-decoration:none;font:700 13px/1.5 Arial;padding:7px 5px;color:#345064}.ip-reader-toc a:hover{color:#9c713d}
.ip-reader-pages{max-width:800px}.ip-reader-pages img{width:100%;height:auto;box-shadow:0 9px 22px #132f3c20;margin-bottom:28px;background:#fff}
.ip-reader-pages figure{margin:0 0 40px}.ip-reader-pages figcaption{text-align:right;font:700 11px Arial;color:#75818a;margin-top:10px}
.ip-contact-form{max-width:780px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}
.ip-contact-form label{font:700 13px Arial;color:#264358;display:flex;flex-direction:column;gap:9px}
.ip-contact-form label.ip-full{grid-column:1/-1}
.ip-contact-form input,.ip-contact-form textarea,.ip-contact-form select{border:1px solid #bbbeba;border-radius:0;min-height:48px;padding:13px 14px;background:#fff;color:#18384b;max-width:100%;font:400 16px Arial}
.ip-contact-form textarea{min-height:145px;resize:vertical}
.ip-contact-form button{cursor:pointer}.ip-form-note{color:#667782;font-size:13px;margin:14px 0}
.ip-legal h2{font:400 clamp(27px,3vw,39px)/1.2 Georgia;margin:35px 0 12px}.ip-legal p{max-width:850px}
.ip-legal-list{line-height:1.8;color:#43545c;padding-left:23px}
.ip-back-link{font-weight:700;font-size:13px;text-decoration:none;border-bottom:1px solid #ab874d}
.ip-mark{color:#b18b54}.ip-separator{height:1px;background:#d7d2c8;margin:35px 0}
.ip-footnote{font-size:12px!important;color:#74838b!important}
/* Exceptions on approved framework: institution pages share original white footer. */
.ip-page .footer{background:white;color:#19364a}
@media(max-width:850px){.ip-shell{width:calc(100% - 44px)}.ip-hero{min-height:auto}.ip-hero-photo{inset:0 0 auto 0;height:44%;opacity:.27}.ip-hero:before{background:linear-gradient(180deg,rgba(246,244,239,.55),#f6f4ef 49%)}.ip-hero-content{padding:86px 0 74px}.ip-hero h1{font-size:clamp(40px,8vw,68px)}.ip-intro-grid,.ip-editorial{grid-template-columns:1fr;gap:25px}.ip-section{padding:70px 0}.ip-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-reading-grid{grid-template-columns:1fr}.ip-reader-toc{position:static;flex-direction:row;flex-wrap:wrap}.ip-editorial img{max-height:440px}}
@media(max-width:560px){.ip-hero-content{padding:70px 0}.ip-hero h1{font-size:clamp(40px,11.1vw,56px)}.ip-section h2{font-size:38px}.ip-portfolio-grid,.ip-pictos,.ip-chapters,.ip-contact-form{grid-template-columns:1fr}.ip-contact-form label.ip-full{grid-column:auto}.ip-card-photo{height:220px}.ip-hero p{font-size:16px}.ip-section{padding:64px 0}.ip-shell{width:calc(100% - 40px)}}

/* Evita extravasamento de endereços longos no celular */
.ip-link-list a span:first-child{min-width:0;overflow-wrap:anywhere}


/* Padrão editorial: aberturas móveis com fotografia efetivamente visível */
@media (max-width:850px){
 .ip-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:#f6f4ef;overflow:hidden;isolation:auto}
 .ip-hero:before{display:none!important;content:none!important}
 .ip-hero-photo{position:relative!important;inset:auto!important;z-index:auto!important;opacity:1!important;width:100%;height:clamp(180px,55vw,320px)!important;max-height:none!important;order:0;overflow:hidden;background:#ebe8df}
 .ip-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
 .ip-hero-photo img[style]{object-position:center center!important}
 .ip-hero-content{order:1;position:relative;padding:35px 0 50px!important;z-index:auto}
 .ip-hero h1{margin:13px 0 18px;font-size:clamp(38px,9.4vw,58px);line-height:1.12}
 .ip-hero-actions{margin-top:24px}
 .ip-hero--publication .ip-hero-photo{height:270px!important;background:#e6e1d6}
 .ip-hero--publication .ip-hero-photo img{object-fit:contain;object-position:center center!important}
}
@media(min-width:851px){
 .ip-hero-photo img{object-position:65% center}
 .ip-hero-photo img[style]{object-position:65% center!important}
 .ip-hero--publication .ip-hero-photo img{object-fit:contain;object-position:center center!important;background:#ece8df}
}
/* Especialidades devem herdar o ritmo dos cards de serviços, sem bullets sublinhados */
.ip-specialty-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:32px 0 4px}
.ip-specialty-link{border:1px solid #d6c9b5;padding:26px 25px 23px;text-decoration:none!important;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:15px;background:#faf9f6;color:#19394b!important;transition:background .2s,border-color .2s,transform .2s}
.ip-specialty-link:hover,.ip-specialty-link:focus-visible{background:#f2efe8;border-color:#af8651;transform:translateY(-2px)}
.ip-specialty-link .ip-specialty-kicker{font:700 11px/1.4 Arial, sans-serif;color:#a67d49;letter-spacing:.12em;text-transform:uppercase}
.ip-specialty-link .ip-specialty-title{font:400 clamp(25px,2.5vw,34px)/1.12 Georgia,serif;color:#183648}
.ip-specialty-link .ip-specialty-detail{font:400 14px/1.6 Arial,sans-serif;color:#516575}
.ip-specialty-link .ip-specialty-visit{font:700 12px/1.5 Arial,sans-serif;color:#9f7541}
@media(max-width:690px){.ip-specialty-links{grid-template-columns:1fr;gap:14px}.ip-specialty-link{padding:21px 20px}}
/* Preserve a legibilidade e o alinhamento da publicação online */
.ip-reader-pages img{height:auto;max-width:100%}

/* Em páginas institucionais, uma única apresentação da marca no celular */
@media (max-width:850px){
 .ip-page .site-header{display:none!important}
 .ip-page .nav-edge{top:0}
}
/* Título acessível da leitura digital */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* Ajustes finais de publicação — 31/10/2026 */
.ip-consent{font-weight:400 !important;flex-direction:row !important;align-items:flex-start !important;gap:12px !important;line-height:1.6 !important;}
.ip-consent input[type="checkbox"]{appearance:auto;min-height:auto !important;width:18px;height:18px;flex:0 0 18px;margin:2px 0 0 !important;}
.ip-consent span{display:block;flex:1 1 auto;min-width:0;}
.ip-consent a{display:inline;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:560px){.ip-consent{gap:10px !important;font-size:13px;}.ip-actions{flex-direction:column;align-items:stretch;}.ip-actions .ip-button{width:100%;justify-content:center;}}
