/* =========================================================
   INOVA RISC — PROJETOS | FRONT-END 1.1.2
   ========================================================= */
.irp-archive,.irp-single,.irp-projects-shortcode,.irp-archive *,.irp-single *,.irp-projects-shortcode *{box-sizing:border-box}
.irp-archive,.irp-single,.irp-projects-shortcode{font-family:inherit}
.irp-container{width:min(1400px,calc(100% - 64px));margin:0 auto}
.irp-section-inner{width:min(1540px,calc(100% - clamp(48px,8vw,128px)));margin:0 auto}
.irp-full-bleed{position:relative;width:100vw;max-width:none!important;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.irp-eyebrow,.irp-section-heading>span,.irp-hero-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}

/* ===== CARDS DE PROJETOS / ARCHIVE / SHORTCODE ===== */
.irp-archive{background:#fff;color:#17243a}
.irp-projects-shortcode{width:100%;max-width:none;margin:0;padding:0;background:transparent;color:inherit}

/* O archive continua podendo ter apresentação própria. O shortcode exibe SOMENTE os cards. */
.irp-archive-intro{padding:clamp(64px,8vw,112px) 0 38px;background:#fff}
.irp-archive-intro h1{font-size:clamp(48px,7vw,90px);line-height:.94;margin:12px 0 18px;letter-spacing:-.055em;font-weight:850;color:#17243a}
.irp-archive-intro p{max-width:700px;font-size:clamp(16px,1.5vw,19px);line-height:1.65;margin:0;color:#667085}
.irp-archive-gallery{padding:0 0 clamp(70px,8vw,110px);background:#fff}

.irp-project-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2vw,28px);
  align-items:stretch;
}

.irp-project-card{
  min-width:0;
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(23,36,58,.12);
  border-top:4px solid var(--irp-project-color);
  border-radius:6px;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.irp-project-card-link{
  display:grid;
  grid-template-rows:auto 1fr;
  height:100%;
  color:#17243a!important;
  text-decoration:none!important;
  background:#fff;
}

.irp-project-card-media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#eef1f4;
}

.irp-project-card-image,.irp-project-card-overlay{position:absolute;inset:0}
.irp-project-card-image{
  background-size:cover;
  background-position:center;
  transform:scale(1.001);
  transition:transform .45s ease;
}
.irp-project-card-placeholder{background:linear-gradient(135deg,var(--irp-project-color),#17243a)}
.irp-project-card-overlay{background:linear-gradient(to top,rgba(0,0,0,.16),transparent 48%);pointer-events:none}

.irp-project-card-content{
  min-width:0;
  padding:20px 20px 18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

.irp-project-card-kicker{
  display:block;
  width:100%;
  color:#667085;
  font-size:10px;
  line-height:1.45;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.irp-project-card-content strong{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  color:#17243a;
  font-size:clamp(20px,1.7vw,25px);
  line-height:1.12;
  letter-spacing:-.025em;
  font-weight:820;
}

.irp-project-card-content small{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  color:#667085;
  font-size:14px;
  line-height:1.55;
}

.irp-project-card-action{
  width:100%;
  margin-top:auto;
  padding-top:15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid rgba(23,36,58,.09);
  color:#17243a;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.irp-project-card-arrow{font-size:22px;line-height:1;color:var(--irp-project-color);transition:transform .22s ease}

.irp-project-card:hover{transform:translateY(-4px);border-color:rgba(23,36,58,.22);box-shadow:0 14px 32px rgba(23,36,58,.09)}
.irp-project-card:hover .irp-project-card-image{transform:scale(1.035)}
.irp-project-card:hover .irp-project-card-arrow{transform:translateX(4px)}
.irp-project-card:focus-within{outline:3px solid rgba(23,36,58,.12);outline-offset:3px}
.irp-empty{padding:20px 0;margin:0;color:#667085}
.nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:36px}
.nav-links a,.nav-links span{padding:9px 12px;text-decoration:none}

/* ===== MINI-PÁGINA ===== */
.irp-single{--irp-primary:#F5C518;--irp-secondary:#FFF1B8;--irp-background:#FFFDF7;--irp-text:#111;background:var(--irp-background);color:var(--irp-text);position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden}

/* Hero full width: faixa à esquerda + imagem sobreposta + conteúdo à direita */
.irp-hero{width:100%;min-height:clamp(620px,74vh,780px);margin:0;position:relative;background:var(--irp-background);overflow:hidden;isolation:isolate}
.irp-hero-word{position:absolute;z-index:1;left:0;top:0;bottom:0;width:24%;background:var(--irp-primary);display:flex;align-items:center;justify-content:center;overflow:hidden}
.irp-hero-word span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(48px,6.4vw,100px);font-weight:950;letter-spacing:-.065em;line-height:.8;text-transform:uppercase;white-space:nowrap;color:#111;opacity:.95}
.irp-hero-visual{position:absolute;z-index:3;left:12%;top:6%;bottom:6%;width:40%;display:flex;align-items:center;justify-content:center;pointer-events:none}
.irp-hero-fit-contain .irp-hero-image{display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;filter:drop-shadow(0 24px 32px rgba(0,0,0,.14))}
.irp-hero-fit-cover{left:15%;top:9%;bottom:9%;width:34%;overflow:hidden;background:var(--irp-secondary)}
.irp-hero-fit-cover .irp-hero-image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;filter:none}
.irp-hero-image-placeholder{width:70%;height:70%;background:linear-gradient(135deg,var(--irp-secondary),transparent)}
.irp-hero-copy{position:relative;z-index:4;margin-left:52%;width:43%;min-height:clamp(620px,74vh,780px);padding:clamp(54px,6vw,94px) clamp(30px,4vw,72px) clamp(54px,6vw,94px) clamp(20px,3vw,52px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.irp-hero-logo{margin-bottom:20px;max-width:180px}
.irp-hero-logo img{max-height:68px;width:auto;max-width:180px;object-fit:contain;display:block}
.irp-hero-kicker{opacity:.58;margin-bottom:12px;color:var(--irp-text)}
.irp-hero-copy h1{font-size:clamp(34px,3.5vw,58px);line-height:.98;letter-spacing:-.045em;margin:0 0 20px;color:var(--irp-text);font-weight:850;max-width:760px;overflow-wrap:anywhere}
.irp-hero-copy h1.is-long{font-size:clamp(31px,3vw,49px);line-height:1.02}
.irp-hero-copy h1.is-very-long{font-size:clamp(28px,2.55vw,42px);line-height:1.06;letter-spacing:-.035em}
.irp-hero-summary{font-size:clamp(15px,1.2vw,18px);line-height:1.65;max-width:660px;margin:0 0 22px;opacity:.76}
.irp-hero-facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.irp-hero-facts span{padding:7px 10px;border:1px solid currentColor;font-size:11px;font-weight:780;text-transform:uppercase;letter-spacing:.06em;opacity:.7}
.irp-primary-button{display:inline-flex;align-items:center;gap:14px;background:var(--irp-primary);color:#111!important;text-decoration:none!important;padding:15px 21px;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.055em;transition:transform .2s ease}
.irp-primary-button:hover{transform:translateY(-2px)}

/* ===== SEÇÕES FULL WIDTH ===== */
.irp-single-body{width:100%;padding:0}
.irp-section{position:relative;width:100%;padding:clamp(64px,7.5vw,112px) 0;border-top:1px solid rgba(20,20,20,.10);background:transparent;overflow:hidden}
.irp-section-inner{position:relative}
.irp-about{background:linear-gradient(90deg,var(--irp-background) 0 31%,rgba(255,255,255,.48) 31% 100%)}
.irp-about::before{content:"";position:absolute;left:0;top:clamp(64px,7.5vw,112px);width:7px;height:clamp(72px,8vw,126px);background:var(--irp-primary)}
.irp-gallery-section{background:rgba(255,255,255,.46)}
.irp-documents-section{background:rgba(255,255,255,.22)}
.irp-ods-section{background:var(--irp-background)}
.irp-section-heading{display:grid;gap:10px;margin-bottom:clamp(28px,3.2vw,42px);max-width:920px}
.irp-section-heading>span,.irp-section-number{color:var(--irp-primary);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}
.irp-section-heading h2,.irp-custom-copy h2{font-size:clamp(36px,5vw,66px);line-height:.96;letter-spacing:-.045em;margin:0;color:var(--irp-text);font-weight:830}
.irp-section-heading p{font-size:16px;line-height:1.65;margin:0;opacity:.68;max-width:720px}
.irp-richtext{font-size:clamp(16px,1.2vw,18px);line-height:1.8;color:var(--irp-text)}
.irp-richtext p:first-child{margin-top:0}.irp-richtext p:last-child{margin-bottom:0}
.irp-richtext img{max-width:100%;height:auto}
.irp-about-grid{display:grid;grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);gap:clamp(44px,7vw,118px);align-items:start}
.irp-about-grid .irp-section-heading{margin:0;position:sticky;top:28px}
.irp-about-grid .irp-richtext{max-width:980px;padding-top:6px}
.irp-about-grid .irp-richtext p{max-width:980px}

.irp-custom-section{background:var(--irp-section-bg,transparent)}
.irp-custom-section-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:clamp(38px,7vw,105px);align-items:center}
.irp-custom-copy{min-width:0}.irp-custom-copy h2{margin-top:7px;margin-bottom:24px}
.irp-image-left .irp-custom-copy{order:2}.irp-image-left .irp-custom-image{order:1}
.irp-custom-image{min-width:0}.irp-custom-image img{width:100%;height:auto;max-height:680px;object-fit:cover;display:block}
.irp-type-highlight{background:var(--irp-section-bg,var(--irp-secondary))}
.irp-type-highlight .irp-custom-section-inner{display:block}
.irp-type-highlight .irp-custom-copy{max-width:980px}
.irp-type-highlight .irp-richtext{font-size:clamp(24px,3vw,42px);line-height:1.25;font-weight:640;letter-spacing:-.025em;max-width:980px}
.irp-type-html .irp-custom-section-inner{display:block}
.irp-type-html .irp-custom-copy{max-width:none}

/* ===== GALERIA MOSAICO COMPACTA ===== */
.irp-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:88px;grid-auto-flow:dense;gap:9px;max-width:1180px}
.irp-gallery-item{grid-column:span 3;grid-row:span 2;border:0;padding:0;margin:0;background:none;cursor:zoom-in;overflow:hidden;min-width:0;appearance:none}
.irp-gallery-item:nth-child(10n+1){grid-column:span 5;grid-row:span 3}
.irp-gallery-item:nth-child(10n+2){grid-column:span 4;grid-row:span 2}
.irp-gallery-item:nth-child(10n+3){grid-column:span 3;grid-row:span 2}
.irp-gallery-item:nth-child(10n+4){grid-column:span 4;grid-row:span 3}
.irp-gallery-item:nth-child(10n+5){grid-column:span 4;grid-row:span 2}
.irp-gallery-item:nth-child(10n+6){grid-column:span 4;grid-row:span 2}
.irp-gallery-item:nth-child(10n+7){grid-column:span 3;grid-row:span 2}
.irp-gallery-item:nth-child(10n+8){grid-column:span 5;grid-row:span 3}
.irp-gallery-item:only-child{grid-column:span 4;grid-row:span 3;max-width:520px}
.irp-gallery-item:first-child:nth-last-child(2),.irp-gallery-item:first-child:nth-last-child(2)~.irp-gallery-item{grid-column:span 5;grid-row:span 3}
.irp-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.irp-gallery-item:hover img{transform:scale(1.025)}

/* ===== DOCUMENTOS ===== */
.irp-document-groups{display:grid;gap:58px}
.irp-document-group-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}
.irp-document-group-head h3{font-size:clamp(25px,2.4vw,34px);margin:0;letter-spacing:-.025em}
.irp-document-group-head>span{font-size:12px;opacity:.55;text-transform:uppercase;letter-spacing:.08em}
.irp-document-list{border-top:2px solid var(--irp-text)}
.irp-document-item{padding:24px 0;border-bottom:1px solid rgba(20,20,20,.14)}
.irp-document-topline{display:flex;gap:20px;justify-content:space-between;align-items:flex-start}
.irp-document-topline h4{margin:0;font-size:clamp(18px,1.7vw,22px);line-height:1.35;font-weight:780;max-width:900px}
.irp-document-status{font-size:10px;text-transform:uppercase;font-weight:850;letter-spacing:.08em;padding:6px 8px;border:1px solid currentColor;opacity:.55;white-space:nowrap}
.irp-document-status.is-open{color:#137a37;opacity:1}
.irp-document-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;opacity:.65;margin:9px 0 0}
.irp-document-meta span{display:inline-flex;gap:6px}.irp-document-meta strong{font-weight:780}
.irp-document-copy>p{margin:12px 0 0;line-height:1.6;max-width:900px}
.irp-document-downloads{margin-top:18px}
.irp-document-downloads .risc-downloads-table-wrapper{box-shadow:none!important;border-radius:0!important}
.irp-document-downloads .risc-download-btn{border-radius:0!important}

/* ===== ODS ===== */
.irp-ods-section{padding-bottom:clamp(70px,8vw,110px);background:var(--irp-background)}
.irp-ods-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:stretch}
.irp-ods-card{position:relative;aspect-ratio:1/1;min-width:0;overflow:hidden;background:var(--ods-color);color:#fff}
.irp-ods-card.has-image{background:#fff}
.irp-ods-image{width:100%;height:100%;object-fit:cover;display:block}
.irp-ods-card.is-fallback{padding:16px;display:flex;flex-direction:column;justify-content:space-between}
.irp-ods-badge{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.irp-ods-badge strong{font-size:clamp(28px,3vw,40px);display:block;line-height:1;margin-top:4px}
.irp-ods-name{font-size:13px;font-weight:760;line-height:1.25;max-width:180px}
.irp-ods-screen-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== LIGHTBOX ===== */
.irp-lightbox[hidden]{display:none}.irp-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:999999;display:grid;place-items:center;padding:40px}.irp-lightbox img{max-width:min(1280px,93vw);max-height:90vh;object-fit:contain}.irp-lightbox-close{position:absolute;right:22px;top:14px;background:none!important;border:0!important;color:#fff!important;font-size:46px;line-height:1;cursor:pointer;padding:8px}.irp-lightbox-open{overflow:hidden}

/* ===== TABLET ===== */
@media(max-width:1024px){
  .irp-container{width:min(100% - 36px,1400px)}
  .irp-section-inner{width:calc(100% - 64px)}
  .irp-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .irp-hero{display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-rows:470px auto;min-height:auto;overflow:hidden}
  .irp-hero-word{position:relative;grid-column:1;grid-row:1;width:auto;inset:auto;min-height:470px}
  .irp-hero-word span{font-size:clamp(48px,9vw,78px)}
  .irp-hero-visual,.irp-hero-fit-cover{position:relative;grid-column:1/3;grid-row:1;left:auto;top:auto;bottom:auto;width:auto;height:470px;margin-left:62px;padding:24px 5vw;overflow:visible;z-index:3;background:transparent}
  .irp-hero-fit-cover{margin-left:96px;padding:32px 7vw 32px 0;overflow:hidden}
  .irp-hero-fit-cover .irp-hero-image{object-fit:cover}
  .irp-hero-copy{grid-column:1/3;grid-row:2;margin:0;width:auto;min-height:0;padding:46px max(28px,6vw) 60px}
  .irp-hero-copy h1,.irp-hero-copy h1.is-long,.irp-hero-copy h1.is-very-long{font-size:clamp(34px,5.5vw,52px);line-height:1}
  .irp-about-grid{grid-template-columns:1fr;gap:28px}.irp-about-grid .irp-section-heading{position:static}
  .irp-custom-section-inner{grid-template-columns:1fr 1fr;gap:34px}
  .irp-ods-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ===== MOBILE ===== */
@media(max-width:700px){
  .irp-container,.irp-section-inner{width:calc(100% - 28px)}
  .irp-archive-intro{padding:54px 0 30px}
  .irp-archive-intro h1{font-size:clamp(42px,14vw,68px)}
  .irp-project-grid{grid-template-columns:1fr;gap:16px}
  .irp-project-card-content{padding:18px 18px 16px}
  .irp-project-card-content strong{font-size:22px}
  .irp-project-card-media{aspect-ratio:16/9}

  .irp-hero{display:grid;grid-template-columns:1fr;grid-template-rows:auto 315px auto;min-height:0}
  .irp-hero-word{grid-column:1;grid-row:1;min-height:0;width:100%;padding:18px 16px;justify-content:flex-start;overflow:hidden}
  .irp-hero-word span{writing-mode:horizontal-tb;transform:none;white-space:normal;font-size:clamp(34px,12vw,58px);line-height:.86;overflow-wrap:anywhere}
  .irp-hero-visual,.irp-hero-fit-cover{grid-column:1;grid-row:2;height:315px;width:100%;margin:-10px 0 0;padding:0 18px 12px;overflow:visible;background:linear-gradient(to bottom,var(--irp-primary) 0 24%,var(--irp-secondary) 24% 100%)}
  .irp-hero-fit-contain .irp-hero-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.12))}
  .irp-hero-fit-cover{padding:0 14px 14px;overflow:hidden}.irp-hero-fit-cover .irp-hero-image{width:100%;height:100%;object-fit:cover}
  .irp-hero-copy{grid-column:1;grid-row:3;width:100%;margin:0;min-height:0;padding:38px 18px 56px}
  .irp-hero-copy h1,.irp-hero-copy h1.is-long,.irp-hero-copy h1.is-very-long{font-size:clamp(30px,9.5vw,42px);line-height:1.02;letter-spacing:-.035em;overflow-wrap:anywhere}
  .irp-hero-summary{font-size:16px}.irp-primary-button{width:100%;justify-content:space-between}

  .irp-section{padding:58px 0}.irp-section-heading h2,.irp-custom-copy h2{font-size:clamp(34px,11vw,50px)}
  .irp-about-grid{gap:24px}
  .irp-custom-section-inner{grid-template-columns:1fr;gap:26px}.irp-image-left .irp-custom-copy,.irp-image-left .irp-custom-image{order:initial}
  .irp-custom-image img{max-height:none}

  .irp-about{background:var(--irp-background)}
  .irp-about::before{width:5px;top:58px;height:72px}
  .irp-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:112px;gap:6px;max-width:none}
  .irp-gallery-item,.irp-gallery-item:nth-child(n){grid-column:span 1;grid-row:span 1;max-width:none}
  .irp-gallery-item:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
  .irp-gallery-item:nth-child(6n+4){grid-column:span 2;grid-row:span 1}
  .irp-gallery-item:only-child{grid-column:span 2;grid-row:span 2;max-width:none}
  .irp-gallery-item:first-child:nth-last-child(2),.irp-gallery-item:first-child:nth-last-child(2)~.irp-gallery-item{grid-column:span 1;grid-row:span 2}

  .irp-document-group-head{align-items:flex-start;flex-direction:column;gap:6px}.irp-document-topline{display:grid;gap:12px}.irp-document-status{justify-self:start}.irp-document-meta{display:grid;gap:5px}
  .irp-ods-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .irp-lightbox{padding:16px}.irp-lightbox-close{right:10px;top:8px}
}

@media(max-width:380px){
  .irp-container,.irp-section-inner{width:calc(100% - 22px)}
  .irp-hero-copy{padding-left:14px;padding-right:14px}
  .irp-gallery-grid{grid-auto-rows:108px}
}
