/* Refinamento inspirado na composição aprovada: catálogo centrado, duas colunas e interações suaves. */
:root { --fr-card-shadow:0 14px 34px rgba(76,45,39,.09); }
.home-procedures.section { max-width:980px; padding-top:92px; padding-bottom:100px; }
.home-procedures .section-heading { max-width:840px; margin:0 auto 30px; text-align:left; }
.home-procedures .section-heading h2 { font-size:clamp(2.4rem,4vw,4.4rem); line-height:1.04; }
.fr-carousel .home-procedure-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; overflow:visible; padding:0; scroll-snap-type:none; }
.fr-carousel .home-procedure-card,.fr-carousel .home-procedure-card:nth-child(even) { display:block; min-height:0; padding:0; overflow:hidden; border:1px solid #ead8d1; border-radius:15px; background:#fffdfa; box-shadow:0 2px 0 rgba(75,48,48,.02); transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
.fr-carousel .home-procedure-card:hover { transform:translateY(-7px); border-color:#c59589; box-shadow:var(--fr-card-shadow); }
.fr-carousel .home-procedure-card > a { display:block; color:inherit; text-decoration:none; }
.fr-carousel .home-procedure-card .procedure-reference-image,.fr-carousel .home-procedure-card:nth-child(even) .procedure-reference-image { display:block; width:100%; height:225px; min-height:0; margin:0; border-radius:0; object-fit:cover; object-position:center; background:#f5ece4; transition:transform .5s ease; }
.fr-carousel .home-procedure-card:hover .procedure-reference-image { transform:scale(1.045); }
.fr-carousel .home-procedure-card > a > span,.fr-carousel .home-procedure-card:nth-child(even) > a > span { display:block; margin:17px 20px 0; color:#bf766b; font:14px Georgia,serif; }
.fr-carousel .home-procedure-card h3,.fr-carousel .home-procedure-card:nth-child(even) h3 { margin:8px 20px 10px; color:var(--wine); font-size:clamp(1.35rem,2vw,1.8rem); line-height:1.08; overflow-wrap:anywhere; }
.fr-carousel .home-procedure-card p,.fr-carousel .home-procedure-card:nth-child(even) p { margin:0 20px 20px; color:#745f59; font-size:12px; line-height:1.6; }
.fr-carousel-controls { display:none; }
.home-procedures .center-action { margin-top:38px; }
.home-procedures .button { box-shadow:0 10px 25px rgba(75,48,48,.16); transition:transform .2s ease,box-shadow .2s ease; }
.home-procedures .button:hover { transform:translateY(-3px); box-shadow:0 16px 30px rgba(75,48,48,.23); }
@media (min-width:1200px) { .intro.section { grid-template-columns:minmax(530px,1.05fr) minmax(410px,.95fr); gap:clamp(60px,8vw,125px); max-width:1160px; } .intro.section h2 { max-width:12.5ch; font-size:clamp(2.8rem,3.6vw,4rem); line-height:1.05; } }
/* Página completa de procedimentos: cartões com mesma escala da página inicial. */
.procedures.section { max-width:1120px; }
.procedures .procedure-group { grid-template-columns:1fr; gap:24px; padding:62px 0; }
.procedures .group-title { position:static; display:flex; gap:13px; align-items:baseline; max-width:760px; }
.procedures .group-title h2 { font-size:clamp(2rem,3.3vw,3.1rem); }
.procedures .group-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.procedures .group-grid article { display:block; min-height:0; border-radius:15px; box-shadow:0 2px 0 rgba(75,48,48,.02); transition:transform .28s ease,box-shadow .28s ease; }
.procedures .group-grid article:hover { transform:translateY(-6px); box-shadow:var(--fr-card-shadow); }
.procedures .group-grid article > .procedure-reference-image { width:100%; height:225px; border-radius:0; object-fit:cover; transition:transform .45s ease; }
.procedures .group-grid article:hover > .procedure-reference-image { transform:scale(1.035); }
.procedures .group-grid h3 { margin:20px 21px 10px; font-size:clamp(1.3rem,1.8vw,1.75rem); line-height:1.1; overflow-wrap:anywhere; }
.procedures .group-grid p { margin:0 21px; font-size:12px; line-height:1.6; }
.procedures .group-grid a { display:inline-flex; align-items:center; margin:18px 21px 23px; padding:9px 13px; border:1px solid #d7bdb5; border-radius:999px; color:var(--wine); font-size:11px; text-decoration:none; transition:background .2s,color .2s; }
.procedures .group-grid a:hover { background:var(--wine); color:#fff; }
@media (max-width:699px) { .home-procedures.section { padding-top:62px; } .fr-carousel .home-procedure-grid,.procedures .group-grid { grid-template-columns:1fr; } .fr-carousel .home-procedure-card .procedure-reference-image,.procedures .group-grid article > .procedure-reference-image { height:auto; aspect-ratio:4/3; } .procedures .group-title { display:block; } }
@media (prefers-reduced-motion:reduce) { .fr-carousel .home-procedure-card,.procedures .group-grid article,.fr-carousel .home-procedure-card .procedure-reference-image,.procedures .group-grid article > .procedure-reference-image { transition:none; } }
/* Home: volta ao carrossel compacto, mantendo as imagens individuais e os efeitos. */
.home-procedures.section { max-width:1440px; }
.home-procedures .section-heading { max-width:840px; margin:0 auto 30px; text-align:center; }
.fr-carousel .home-procedure-grid { display:flex; gap:26px; overflow-x:auto; padding:8px 4px 26px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.fr-carousel .home-procedure-grid::-webkit-scrollbar { display:none; }
.fr-carousel .home-procedure-card,.fr-carousel .home-procedure-card:nth-child(even) { flex:0 0 calc((100% - 26px)/2); display:grid; grid-template-columns:minmax(250px,1.08fr) minmax(220px,.92fr); grid-template-rows:auto auto 1fr; min-height:360px; }
.fr-carousel .home-procedure-card > a { display:contents; }
.fr-carousel .home-procedure-card .procedure-reference-image,.fr-carousel .home-procedure-card:nth-child(even) .procedure-reference-image { grid-column:1; grid-row:1 / 4; width:100%; height:100%; min-height:360px; object-fit:cover; }
.fr-carousel .home-procedure-card > a > span,.fr-carousel .home-procedure-card:nth-child(even) > a > span { grid-column:2; grid-row:1; align-self:end; margin:34px 34px 0; }
.fr-carousel .home-procedure-card h3,.fr-carousel .home-procedure-card:nth-child(even) h3 { grid-column:2; grid-row:2; margin:13px 34px 14px; font-size:clamp(1.55rem,2.1vw,2.28rem); }
.fr-carousel .home-procedure-card p,.fr-carousel .home-procedure-card:nth-child(even) p { grid-column:2; grid-row:3; margin:0 34px 34px; align-self:start; }
.fr-carousel .home-procedure-card:nth-child(even) .procedure-reference-image { grid-column:2; }
.fr-carousel .home-procedure-card:nth-child(even) > a > span,.fr-carousel .home-procedure-card:nth-child(even) h3,.fr-carousel .home-procedure-card:nth-child(even) p { grid-column:1; }
.fr-carousel-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:8px; }
@media (min-width:700px) and (max-width:1199px) { .fr-carousel .home-procedure-card,.fr-carousel .home-procedure-card:nth-child(even) { flex-basis:78%; grid-template-columns:minmax(260px,.9fr) minmax(260px,1.1fr); min-height:340px; } .fr-carousel .home-procedure-card .procedure-reference-image,.fr-carousel .home-procedure-card:nth-child(even) .procedure-reference-image { min-height:340px; } }
@media (max-width:699px) { .home-procedures .section-heading { text-align:left; } .fr-carousel .home-procedure-card,.fr-carousel .home-procedure-card:nth-child(even) { flex-basis:88%; display:block; min-height:0; } .fr-carousel .home-procedure-card .procedure-reference-image,.fr-carousel .home-procedure-card:nth-child(even) .procedure-reference-image { width:100%; height:auto; min-height:0; aspect-ratio:4/3; } .fr-carousel .home-procedure-card > a > span,.fr-carousel .home-procedure-card:nth-child(even) > a > span { display:block; margin:24px 22px 0; } .fr-carousel .home-procedure-card h3,.fr-carousel .home-procedure-card:nth-child(even) h3 { margin:11px 22px 12px; font-size:1.85rem; } .fr-carousel .home-procedure-card p,.fr-carousel .home-procedure-card:nth-child(even) p { margin:0 22px 26px; } }
