/* Referência visual de 03/11. Conteúdo e destinos continuam no WordPress. */
:root { --line: #e0dbd0; --shadow: 0 22px 44px -28px #043c6659; }
body { font-family: Raleway, system-ui, sans-serif; color: #0a2236; }
h1,h2,h3,h4,h5,h6 { font-family: Montserrat, system-ui, sans-serif; }
.wrap,.page-wrap { max-width: 1288px; }
section.block { padding-block: clamp(3.5rem, 7vw, 6rem); }
.sec-head { max-width: 48rem; }
.sec-head.center { text-align: left; margin-left: 0; }
.sec-head h2 { font-size: clamp(1.85rem, 3.1vw, 2.65rem); line-height: 1.12; letter-spacing: -.02em; }
.eyebrow { color: #995700; font-family: Montserrat, system-ui, sans-serif; font-size: .72rem; letter-spacing: .12em; }
.btn { font-family: Raleway, system-ui, sans-serif; font-weight: 700; border-radius: .75rem; }
.btn-primary { color: #032b4a; box-shadow: none; }
.btn-ghost { border-color: #0a22362b; }
.btn-app { background: #043c66; box-shadow: none; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline: 3px solid #f5920a; outline-offset: 4px; }
.ams-skip-link { position: fixed; top: .75rem; left: 1rem; z-index: 1000; padding: .8rem 1.25rem; background: #fff; color: #043c66; transform: translateY(-200%); border-radius: .5rem; }
.ams-skip-link:focus { transform: none; }
.nav { height: 88px; }
.menu .nav-list { font-size: .9rem; }
.ams-mobile-whatsapp { display: none; }
.ams-mobile-whatsapp svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.page-hero {
  padding: clamp(8rem, 12vw, 11rem) 0 clamp(3rem, 5vw, 4.5rem);
  color: #fff;
  background: linear-gradient(#043c66ed, #043c66ed), #043c66 url(../img/transicao/lotes.svg) center / cover;
}
.page-hero .page-roofs { display: none; }
.page-hero .crumb { color: #cadce9; margin-bottom: 2rem; }
.page-hero .crumb a { color: #cadce9; }
.page-hero h1 { max-width: 25ch; color: #fff; font: 700 clamp(2.1rem, 3.6vw, 3.1rem)/1.09 Montserrat, system-ui, sans-serif; letter-spacing: -.025em; }
.page-hero p,.page-hero p.sub { color: #cadce9; max-width: 65ch; margin-top: 1.5rem; font-size: 1.1rem; }
.ams-page-step-link { margin-top: 2rem; }
.ams-institutional-hero { padding-block: clamp(3.5rem, 6vw, 6rem); }
.ams-institutional-hero .ams-transition-description { max-width: 51ch; }
.ams-hero-photos { max-width: 28rem; }
.ams-hero-portrait { max-width: 9rem; }
.ams-hero-kpis div { justify-content: flex-end; }
.ams-hero-kpis dd { line-height: 1.2; }
.ams-hero-kpis dt { font-size: .86rem; margin-top: .5rem; color: #cadce9; }

/* Destaque de depoimento e relatos ao lado, usando os mesmos cadastros. */
.ams-testimonials { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 3rem; align-items: start; }
.ams-testimonials .quote { min-width: 0; margin: 0; padding: 1.5rem 0; border: 0; border-bottom: 1px solid #e0dbd0; border-radius: 0; background: transparent; box-shadow: none; }
.ams-testimonials .quote:first-child { grid-column: 1; grid-row: 1 / span 5; display: grid; grid-template-columns: minmax(0, 1fr) minmax(9rem, 42%); gap: 1.25rem; align-self: start; background: #043c66; color: #fff; border: 0; border-radius: 1.25rem; padding: clamp(1.5rem, 3vw, 2.5rem); }
.ams-testimonials .quote:first-child:not(.has-video) { grid-template-columns: 1fr; }
.ams-testimonials .quote:first-child > p { grid-column: 1; font: 700 clamp(1.2rem, 1.7vw, 1.65rem)/1.4 Montserrat, system-ui, sans-serif; color: #fff; }
.ams-testimonials .quote:first-child .qm { grid-column: 1; color: #ffc877; font-size: 3rem; }
.ams-testimonials .quote:first-child .who { grid-column: 1; border-top: 1px solid #ffffff26; padding-top: 1rem; margin-top: 0; }
.ams-testimonials .quote:first-child .who b { color: #fff; }
.ams-testimonials .quote:first-child .who span { color: #cadce9; }
.ams-testimonials .quote:first-child .ams-testimonial-cover { grid-column: 2; grid-row: 1 / span 3; width: 100%; max-width: none; height: auto; aspect-ratio: 9 / 16; object-fit: cover; object-position: center; margin: 0; align-self: center; }
.ams-testimonials .quote .who .av { display: none; }
.ams-testimonials .quote:not(:first-child) { grid-column: 2; }
.ams-testimonials .quote:not(:first-child) .qm { display: none; }
.ams-testimonials .quote:not(:first-child) .ams-testimonial-cover { float: right; width: 5rem; aspect-ratio: 3 / 4; margin: 0 0 .75rem 1rem; }
.ams-testimonials .quote:not(:first-child) p { font-size: .96rem; }
.ams-testimonials .quote:not(:first-child) .who { margin-top: .75rem; }
.ams-testimonials .quote:not(:first-child) .who span { font-size: .8rem; }
.ams-testimonials .quote .play-badge { width: 2.5rem; height: 2.5rem; top: 1.75rem; right: 1rem; }
.ams-testimonials .quote:first-child .play-badge { top: 50%; right: 18%; transform: translate(50%, -50%); background: #f5920a; color: #043c66; border-radius: 50%; }
.ams-testimonials .quote:first-child .play-badge svg { stroke: #043c66; }

/* Notícias e entregas com foto e legenda, sem caixas sobrepostas. */
.feat-card,.nl-item { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.feat-card:hover,.nl-item:hover { transform: none; box-shadow: none; }
.feat-card .thumb,.nl-item .thumb { border-radius: 1.25rem; }
.feat-card .thumb { aspect-ratio: 4 / 3; }
.feat-card .body { padding: 1.5rem 0 0; }
.feat-card h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
.nl-item { grid-template-columns: 8.5rem minmax(0, 1fr); gap: 1.25rem; }
.nl-item .thumb { aspect-ratio: 4 / 3; }
.nl-item .nl-body { padding: 0; }
.news-list { gap: 1.5rem; }
.nl-item h3 { font-size: 1rem; }
.news-list .nl-item + .nl-item { border-top: 1px solid #e0dbd0; padding-top: 1.5rem; }
.ams-home-delivery-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 1rem 3rem; align-items: start; }
.ams-home-delivery-grid .ams-delivery-card { min-width: 0; display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); align-items: center; gap: 1.25rem; padding: .75rem 0; border-bottom: 1px solid #e0dbd0; }
.ams-home-delivery-grid .ams-delivery-card:first-child { grid-row: 1 / span 4; grid-column: 1; display: block; border: 0; padding: 0; }
.ams-home-delivery-grid .ams-delivery-card:not(:first-child) { grid-column: 2; }
.ams-home-delivery-grid .shot { aspect-ratio: 4 / 3; box-shadow: none; border-radius: 1rem; }
.ams-home-delivery-grid .ams-delivery-caption { margin: 0; flex-direction: column; align-items: flex-start; gap: .4rem; }
.ams-home-delivery-grid .ams-delivery-card:first-child .ams-delivery-caption { margin-top: 1.5rem; }
.ams-home-delivery-grid .ams-delivery-link { padding: 0; text-decoration: none; font-family: Montserrat, system-ui, sans-serif; font-size: 1rem; line-height: 1.35; }
.ams-home-delivery-grid .ams-delivery-card:first-child .ams-delivery-link { font-size: 1.6rem; }
.ams-home-delivery-grid .gal-badge { right: .5rem; top: .5rem; font-size: .7rem; padding: .15rem .4rem; }
.ams-home-delivery-grid .gallery-more { grid-column: 1 / -1; }
.about-media .media { box-shadow: none; }
.appband { background: #10353b; }
.appband .ab-copy h3 { font-family: Montserrat, system-ui, sans-serif; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.15; }
.appband .store { border: 0; border-radius: 0; padding: 0; }

/* Linha do tempo: a descrição continua vindo da página do WordPress. */
.ams-process-timeline { list-style: none; counter-reset: process; margin-top: 3rem; }
.ams-process-timeline > li { position: relative; display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1.25rem; counter-increment: process; border: 0; padding: 0 0 2.5rem; }
.ams-process-timeline > li:last-child { padding-bottom: 0; }
.ams-process-timeline > li::before { content: counter(process, decimal-leading-zero); display: grid; place-items: center; width: 2.75rem; height: 2.75rem; background: #043c66; color: #ffc877; border-radius: 50%; font: 700 .85rem Montserrat, system-ui, sans-serif; margin: 0; z-index: 1; }
.ams-process-timeline > li:last-child::before { content: '✓'; background: #00812b; color: #fff; }
.ams-process-timeline > li:not(:last-child)::after { content: ''; position: absolute; left: 1.3rem; top: 3rem; bottom: .4rem; width: 2px; background: #e0dbd0; }
.ams-process-timeline h3 { margin-top: .4rem; font-size: 1.15rem; line-height: 1.35; }
.ams-process-timeline p { margin-top: .75rem; color: #516079; }
.ams-process-timeline > li > div { min-width: 0; }
.ams-process-page .content { max-width: 64rem; }
.ams-process-page .content > h2 { max-width: 30ch; font-size: clamp(1.8rem, 3vw, 2.65rem); }
.ams-process-list { display: block; }
.ams-process-summary .sec-top { align-items: flex-end; }
.ams-process-summary .sec-head { max-width: 47rem; }

/* Páginas editoriais e perguntas. Não acrescenta conteúdo do site modelo. */
.ams-page-para-prefeituras .article { max-width: 1288px; }
.ams-existing-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; margin-top: 3rem; }
.ams-existing-cards section { border-top: 2px solid #043c66; padding-top: 1.25rem; }
.ams-existing-cards h3 { margin-top: 0; }
.ams-existing-cards p { font-size: 1rem; }
.ams-faq-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 4rem; align-items: start; }
.ams-faq-topics { display: flex; flex-direction: column; gap: .5rem; position: sticky; top: 7rem; }
.ams-faq-topics a { padding: .75rem 1rem; font-weight: 600; border-radius: .5rem; }
.ams-faq-topics a:hover { background: #f7f5f0; }
.ams-faq-answers { min-width: 0; }
.ams-faq-answers > .wp-block-group { margin-bottom: 4rem; scroll-margin-top: 7rem; }
.ams-faq-answers h2 { font-size: 1.6rem; margin: 0 0 1.5rem; }
.ams-faq-answers .wp-block-details { border: 0; border-bottom: 1px solid #e0dbd0; border-radius: 0; background: transparent; padding: 1.25rem 0; margin: 0; }
.ams-presence svg a path { fill: #043c66; }
.ams-presence-states .wp-block-details { border-radius: .5rem; }
.ams-contact-channels { background: #00812b; color: #fff; padding: clamp(1.5rem, 4vw, 3rem); border-radius: 1.25rem; align-items: center; }
.ams-contact-channels a { color: #fff; overflow-wrap: anywhere; }
.ams-contact-channels .btn { background: #fff; color: #043c66; text-decoration: none; }
.ams-contact-channels p { width: 100%; margin: .5rem 0 0; color: #fff; }
.contact { color: #fff; background: #043c66; }
.contact h2 { color: #fff; }
.contact > .wrap > p { color: #cadce9; }
.contact .ams-contact-channels { margin-top: 2rem; }
footer { background: #032b4a; }
.foot-grid { gap: 2.5rem; }
.foot .logo { gap: .4rem; }
.foot .logo .logo-mark { max-width: 22%; height: auto; }
.foot .logo .logo-word { max-width: 73%; height: auto; }
.ams-footer-stores { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.ams-footer-stores img { width: 8.5rem; height: auto; }
.foot ul a,.ams-footer-address { overflow-wrap: anywhere; }
.ams-footer-address { color: #cadce9; font-size: .9rem; line-height: 1.65; margin-top: 1rem; }
@media (min-width: 1280px) {
  .ams-process-list { display: grid; grid-template-columns: repeat(var(--ams-step-count, 6), minmax(0, 1fr)); gap: 1.5rem; }
  .ams-process-list > li { display: block; padding: 0; }
  .ams-process-list h3 { margin-top: 1.5rem; font-size: 1rem; }
  .ams-process-list p { font-size: .9rem; }
  .ams-process-list > li:not(:last-child)::after { left: 2.75rem; top: 1.3rem; width: calc(100% + 1.5rem - 2.75rem); height: 2px; bottom: auto; }
}
@media (max-width: 1100px) {
  .ams-mobile-whatsapp { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: .75rem; background: #00812b; color: #fff; }
  .nav { height: 80px; }
  .ams-testimonials { gap: 0 1.5rem; }
  .ams-testimonials .quote:first-child { grid-template-columns: 1fr; }
  .ams-testimonials .quote:first-child .ams-testimonial-cover { grid-column: 1; grid-row: auto; width: min(100%, 15rem); justify-self: center; }
  .ams-testimonials .quote:first-child .play-badge { top: 35%; right: 50%; }
  .ams-home-delivery-grid { gap: 1rem 1.5rem; }
  .ams-home-delivery-grid .ams-delivery-card { grid-template-columns: 6rem minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .ams-testimonials { display: block; }
  .ams-testimonials .quote:first-child { margin-bottom: 1.5rem; grid-template-columns: minmax(0, 1fr) minmax(9rem, 40%); }
  .ams-testimonials .quote:first-child .ams-testimonial-cover { grid-column: 2; grid-row: 1 / span 3; }
  .ams-testimonials .quote:first-child .play-badge { top: 50%; right: 19%; }
  .ams-existing-cards { grid-template-columns: 1fr; gap: 2rem; }
  .ams-faq-layout { grid-template-columns: 1fr; gap: 2rem; }
  .ams-faq-topics { position: static; flex-direction: row; flex-wrap: wrap; }
  .ams-faq-topics a { border: 1px solid #e0dbd0; font-size: .85rem; padding: .6rem .8rem; }
  .ams-home-delivery-grid { grid-template-columns: 1fr; }
  .ams-home-delivery-grid .ams-delivery-card:first-child { grid-row: auto; grid-column: 1; }
  .ams-home-delivery-grid .ams-delivery-card:not(:first-child) { grid-column: 1; }
  .ams-home-delivery-grid .ams-delivery-card { grid-template-columns: 8rem minmax(0, 1fr); }
}
@media (max-width: 540px) {
  .ams-testimonials .quote:first-child { display: flex; flex-direction: column; }
  .ams-testimonials .quote:first-child .ams-testimonial-cover { order: 2; align-self: center; }
  .ams-testimonials .quote:first-child .who { order: 3; width: 100%; }
  .ams-testimonials .quote:first-child .play-badge { top: auto; bottom: 17rem; }
  .nl-item { grid-template-columns: 6rem minmax(0, 1fr); gap: 1rem; }
  .nl-item p { display: none; }
  .ams-home-delivery-grid .ams-delivery-card { grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; }
  .ams-home-delivery-grid .ams-delivery-card:first-child .ams-delivery-link { font-size: 1.25rem; }
  .ams-process-timeline > li { gap: 1rem; }
  .ams-process-timeline h3 { font-size: 1.05rem; }
  .ams-footer-stores img { width: 8rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .card,.shot,.quote,.feat-card,.nl-item,.chip { animation: none !important; opacity: 1 !important; transform: none !important; }
}
