/* ARBEX STUDIO V3.2 — Portfólio editorial.
   As três prévias abaixo foram capturadas das próprias landing pages HTML.
   Alterações aqui não afetam o Hero, os logotipos nem as demais seções. */
.cur-portfolio{padding:clamp(100px,11vw,160px) 0 clamp(100px,10vw,150px);background:#ede7de;color:#24211e;}
.cur-head{display:grid;grid-template-columns:1.16fr .6fr;gap:clamp(40px,8vw,140px);align-items:end;margin-bottom:clamp(55px,6vw,93px);}
.cur-head h2{font-size:clamp(53px,6.3vw,100px);letter-spacing:-.065em;line-height:1.025;}
.cur-head h2 em{color:#A78866;}
.cur-head-aside{max-width:345px;justify-self:end;}
.cur-aside-rule{display:block;height:1px;width:68px;background:#a88966;margin-bottom:28px;}
.cur-head-aside p{font-size:17px;line-height:1.67;color:#60564b;margin:0 0 24px;}
.cur-head-aside small{display:block;font-size:11px;letter-spacing:.04em;color:#85786d;line-height:1.6;}
.cur-gallery{display:grid;gap:clamp(75px,7vw,115px);}
.cur-case{min-width:0;}
.cur-visual{position:relative;display:block;overflow:hidden;text-decoration:none;isolation:isolate;background:#b8ada0;color:#fff;box-shadow:0 1px 1px #3d31231c;}
.cur-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .72s cubic-bezier(.2,.8,.2,1),filter .5s ease;}
.cur-visual::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,#09080745 0,transparent 18%,transparent 65%,#08080735 100%);pointer-events:none;}
.cur-visual--arch{height:clamp(440px,49vw,680px);background:#c5bdb0;}
.cur-visual--arch img{object-position:center 30%;}
.cur-visual--dental{height:clamp(385px,36vw,515px);background:#bdc8c6;}
.cur-visual--dental img{object-position:center 28%;}
.cur-visual--sola{height:clamp(385px,36vw,515px);background:#dfd3c1;}
.cur-visual--sola img{object-position:center 36%;}
.cur-visual-index{position:absolute;z-index:2;top:28px;left:31px;right:31px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.13em;text-shadow:0 2px 8px #1118;pointer-events:none;}
.cur-visual-index b{font-weight:600;}
.cur-arrow{position:absolute;z-index:2;right:30px;bottom:28px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#f1e8da;color:#241f1a;font-size:27px;font-weight:300;box-shadow:0 6px 22px #0002;transition:background .22s ease,transform .32s cubic-bezier(.2,.8,.2,1);pointer-events:none;}
.cur-visual--dental .cur-arrow{background:#dce9e7;}
.cur-visual--sola .cur-arrow{background:#f6efe1;}
.cur-visual:focus-visible{outline:4px solid #b68b57;outline-offset:6px;}
.cur-case-copy{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:clamp(17px,3vw,45px);align-items:start;padding:30px 0 0;}
.cur-number{font-size:13px;font-weight:700;color:#a08061;letter-spacing:.08em;padding-top:12px;}
.cur-category{display:block;color:#84694b;font-size:10px;font-weight:700;letter-spacing:.16em;}
.cur-case-story h3{margin:10px 0 10px;font-size:clamp(36px,4vw,60px);font-weight:580;letter-spacing:-.055em;line-height:1.04;}
.cur-case-story p{max-width:520px;font-size:16px;line-height:1.6;color:#625a52;margin:0;}
.cur-explore{display:inline-flex;align-items:center;gap:23px;margin-top:26px;color:#443d34;font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid #ad9273;padding-bottom:10px;white-space:nowrap;}
.cur-explore span{transition:transform .28s ease;display:inline-block;font-size:17px;}
.cur-explore:focus-visible{outline:3px solid #997551;outline-offset:5px;}
.cur-pair{display:grid;grid-template-columns:1.04fr .96fr;align-items:start;gap:clamp(25px,4vw,65px);}
.cur-pair .cur-case-copy{grid-template-columns:30px minmax(0,1fr);gap:16px;padding-top:28px;}
.cur-pair .cur-case-story h3{font-size:clamp(34px,3.4vw,52px);}
.cur-pair .cur-explore{grid-column:2;justify-self:start;margin-top:4px;}
.cur-case--sola{margin-top:clamp(45px,6vw,100px);}
.cur-pair .cur-number{padding-top:9px;}
.cur-portfolio-footer{margin-top:clamp(80px,9vw,140px);padding-top:28px;border-top:1px solid #c8b9a7;display:flex;align-items:start;justify-content:space-between;gap:50px;}
.cur-portfolio-footer p{max-width:550px;font-size:12px;line-height:1.8;color:#776c5f;margin:0;}
.cur-portfolio-footer b{color:#4b4034;}
.cur-outro-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;font-weight:650;color:#2b251e;text-decoration:none;border-bottom:1px solid #a68b6b;padding-bottom:13px;white-space:nowrap;}
.cur-outro-link span{font-size:20px;}
.cur-outro-link:focus-visible{outline:3px solid #997551;outline-offset:5px;}
@media(hover:hover) and (pointer:fine){
 .cur-visual:hover img,.cur-visual:focus-visible img{transform:scale(1.033);filter:contrast(1.035);}
 .cur-visual:hover .cur-arrow,.cur-visual:focus-visible .cur-arrow{transform:translate(3px,-3px);background:#fff9ec;}
 .cur-explore:hover span,.cur-outro-link:hover span{transform:translate(3px,-2px);}
 .cur-explore:hover,.cur-outro-link:hover{color:#a2764a;}
}
@media(max-width:1100px){
 .cur-case-copy{grid-template-columns:35px 1fr;}
 .cur-case-copy>.cur-explore{grid-column:2;justify-self:start;margin-top:2px;}
 .cur-head{grid-template-columns:1fr .7fr;}
}
@media(max-width:740px){
 .cur-portfolio{padding:90px 0 100px;}
 .cur-head{grid-template-columns:1fr;gap:28px;margin-bottom:45px;}
 .cur-head h2{font-size:clamp(49px,10vw,73px);}
 .cur-head-aside{justify-self:start;max-width:450px;}
 .cur-head-aside p{font-size:15px;}
 .cur-aside-rule{margin-bottom:17px;}
 .cur-pair{grid-template-columns:1fr;gap:65px;}
 .cur-case--sola{margin-top:0;}
 .cur-gallery{gap:65px;}
 .cur-visual--arch{height:clamp(280px,76vw,470px);}
 .cur-visual--dental,.cur-visual--sola{height:clamp(290px,78vw,440px);}
 .cur-visual-index{top:17px;left:18px;right:18px;font-size:9px;}
 .cur-arrow{right:18px;bottom:18px;width:45px;height:45px;font-size:21px;}
 .cur-case-copy,.cur-pair .cur-case-copy{grid-template-columns:25px minmax(0,1fr);gap:14px;padding-top:24px;}
 .cur-case-story h3,.cur-pair .cur-case-story h3{font-size:38px;}
 .cur-case-story p{font-size:14px;}
 .cur-pair .cur-explore{grid-column:2;}
 .cur-portfolio-footer{flex-direction:column;gap:25px;margin-top:70px;}
 .cur-outro-link{white-space:normal;}
}
@media(max-width:380px){
 .cur-visual-index{font-size:8px;}
 .cur-head h2{font-size:47px;}
 .cur-case-story h3{font-size:34px;}
}
@media(prefers-reduced-motion:reduce){
 .cur-visual img,.cur-arrow,.cur-explore span{transition:none!important;}
 .cur-visual:hover img,.cur-visual:focus-visible img{transform:none!important;filter:none!important;}
 .cur-visual:hover .cur-arrow,.cur-visual:focus-visible .cur-arrow{transform:none!important;}
}

/* Miniaturas dos dois estudos menores: mostramos toda a página, sem recortar títulos. */
.cur-visual--dental img,.cur-visual--sola img{object-fit:contain;object-position:center center;}

@media(max-width:740px){.cur-visual--arch img{object-fit:contain;object-position:center center;}}

/* V3.3 — as miniaturas mostram capturas dos PRÓPRIOS sites V3.3, não referências externas.
   Preenche a vitrine com o enquadramento editorial, sem molduras vazias. */
.cur-visual--dental img,.cur-visual--sola img,.cur-visual--arch img{object-fit:cover;object-position:center center}
.cur-visual--sola img{object-position:52% center}
.cur-visual--dental img{object-position:50% center}
@media(max-width:740px){.cur-visual--arch img{object-fit:cover;object-position:center center}}

/* ===== V3.6 | PREVIA SOLA SEM CORTE =====
   A captura real do site Sola tem proporção 1180:858.
   Respeitamos essa proporção para que o título não desapareça à esquerda.
   Diferente de object-fit: cover, contain preserva todos os textos da prévia. */
.cur-visual--sola {
  height: auto;
  aspect-ratio: 1180 / 858;
  background: #eee4d7;
}
.cur-visual--sola img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}


/* V3.8 — grade editorial sem os números decorativos removidos do HTML.
   Este arquivo é carregado DEPOIS de style.css. Ajustamos a regra final aqui,
   evitando o bug de textos estreitos na apresentação dos projetos. */
.cur-case-copy { grid-template-columns:minmax(0,1fr) auto; gap:24px; }
.cur-case-copy .cur-case-story{grid-column:1;min-width:0;}
.cur-case-copy>.cur-explore{grid-column:2;align-self:start;}
.cur-pair .cur-case-copy{grid-template-columns:minmax(0,1fr);gap:12px;}
.cur-pair .cur-case-copy .cur-case-story{grid-column:1;}
.cur-pair .cur-case-copy>.cur-explore{grid-column:1;justify-self:start;margin-top:4px;}
@media(max-width:740px){
 .cur-case-copy,.cur-pair .cur-case-copy{grid-template-columns:minmax(0,1fr);}
 .cur-case-copy>.cur-explore,.cur-pair .cur-case-copy>.cur-explore{grid-column:1;justify-self:start;}
}

/* ============================================================
   V3.18 — MICROTIPOGRAFIA DA VITRINE (sem redesenho)
   Mantém Hero, portfólio e os elementos de fundo já aprovados.
   ============================================================ */
.cur-category {
  font-size: 11px;
  color: #6c533a;
  letter-spacing: .13em;
}
.cur-head-aside small {
  font-size: 12px;
  color: #6c6055;
}
@media (max-width: 740px) {
  .cur-case-story p {
    font-size: 15px;
    line-height: 1.68;
  }
}


/* ============================================================
   V3.19 — ACABAMENTO FUNCIONAL: contraste e áreas de interação
   Somente microtextos e links; Hero V3.14 e composição preservados.
   ============================================================ */
/* O subtítulo da vitrine estava abaixo de 4,5:1 no papel fosco. */
.cur-portfolio .sobretitulo { color: #795834; }
.cur-portfolio-footer p { color: #675c4e; }
/* Área de clique ampliada, mantendo a mesma escala de fonte e visual. */
.marca-cabecalho,
.cabecalho-nav a,
.ap-textlink,
.ap-footer-links a,
.ap-footer-bottom a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
}

/* Links restantes do rodapé/FAQ: mais área útil sem botão visual. */
.v37-faq-aside a { display: inline-flex; align-items: center; min-height: 40px; }
.ap-footer-links a { padding-inline: 4px; }
/* O subtítulo sobre grafite precisava de uma diferença mínima de contraste. */
.ap-processo .sobretitulo { color: #b18c60; }
