/* Brand Book p.5. Fontes oficiais aguardam ficheiros web licenciados. */
:root{--blue:#004aad;--deep:#023374;--sky:#b7dcff;--off:#fff;--green:#266f1f;--yellow:#a3d4d4;--ink:#023374}
*,*::before,*::after{box-sizing:border-box}
body{font-family:Agrandir,Arial,sans-serif}
h1,h2,h3{font-family:Patusamba-Regular,"Arial Narrow",Impact,sans-serif;overflow-wrap:break-word}
.brand img{filter:brightness(0) saturate(100%) invert(18%) sepia(98%) saturate(2638%) hue-rotate(206deg) brightness(88%) contrast(107%)}
.brand.logo-light img,.footer-logo img{filter:none}
.hero h1 span:last-child{color:#b7dcff}
.hero-wash{mix-blend-mode:normal;background:linear-gradient(90deg,rgba(2,51,116,.83),rgba(2,51,116,.12))}
.hero{min-block-size:100svh;padding-top:7rem}
.hero-media{transform:none}
.hero-slides{position:absolute;inset:0;z-index:-3;overflow:hidden}
.hero-slides .hero-media{z-index:auto;opacity:0;transition:opacity 1.1s ease}
.hero-slides .hero-media.is-active{opacity:1}
.hero-fluid{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.82;filter:saturate(1.12)}
.hero h1{line-height:.82;font-size:clamp(4rem,min(12vw,17svh),11rem)}
.hero-line{margin-top:1.3rem}
.topbar.surface-dark.scrolled{background:rgba(2,51,116,.98)}
.topbar.surface-light.scrolled{background:rgba(255,255,255,.98)}
.projects-section{padding:6rem 0}
.projects-section h2{font-size:clamp(2.5rem,6vw,6rem);margin:1.5rem 0}
.projects-intro{max-width:46rem;margin-bottom:2.5rem;font-size:1.1rem}
.manifesto-lines h2{font-size:clamp(3rem,6.4vw,7.3rem)}
.manifesto-lines h2 span{white-space:nowrap}
.manifesto-lines p{margin-left:0}
.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.project-card{background:#fff;color:var(--deep);border-radius:1rem;overflow:hidden;min-width:0}
.project-card>a{display:flex;flex-direction:column;height:100%}
.project-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:filter .2s}
.project-card a:hover img{filter:brightness(1.1)}
.project-card-body{padding:1.4rem;display:flex;flex-direction:column;gap:1rem;flex:1}
.project-card-body>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.project-card h3{font-size:clamp(1.55rem,2.1vw,2.3rem);line-height:1.05}
.project-card p{font-size:.93rem;line-height:1.5}
.project-card b{margin-top:auto;padding-top:1rem;border-top:1px solid #b7dcff;font-size:.85rem}
.real-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:3rem 1.5rem;align-items:center}
.real-gallery img{width:100%;height:70vh;object-fit:cover;border-radius:12rem 12rem 1rem 1rem}
.real-gallery img:nth-child(2){height:50vh;border-radius:1rem 1rem 12rem 12rem}
.project-hero h1{font-size:clamp(3rem,10vw,8rem);line-height:1}
.breadcrumb{display:inline-block;margin-bottom:2rem;text-decoration:underline}
.project-story{display:flex;align-items:center;gap:4rem;padding-block:6rem}
.project-story>div{max-width:65rem}
.project-story h2{font-size:clamp(2.5rem,5vw,5rem);margin:1.5rem 0;line-height:1}
.project-story p:last-child{max-width:50rem;font-size:1.15rem}
.project-emblem{width:180px;height:180px;object-fit:contain;flex-shrink:0}
.project-details{padding-block:5rem}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}
.detail-grid h2{font-size:2rem;margin-bottom:1rem;line-height:1.1}
.text-link{display:inline-block;margin-top:1.5rem;text-decoration:underline;text-underline-offset:.3em}
.project-photo{margin-block:4rem;padding:0}
.project-photo img{width:100%;max-height:75vh;object-fit:cover;border-radius:1rem}
figcaption{font-size:.8rem;margin-top:.7rem}
.project-end{padding-block:2rem 5rem;display:flex;flex-wrap:wrap;align-items:center;gap:2rem}
.project-end h2{font-size:clamp(2.5rem,5vw,5rem);width:100%}
.contact-page{padding:8rem 0 5rem;min-height:100vh}
.contact-page h1{font-size:clamp(2.8rem,7vw,6rem);line-height:1;margin:1.5rem 0}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.lead-form{display:grid;gap:1rem;background:var(--sky);padding:2rem;border-radius:1rem}
.lead-form label{display:grid;gap:.4rem;font-weight:bold}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;font:inherit;padding:.8rem;border:1px solid var(--blue);border-radius:.35rem;min-width:0;background:white;color:var(--deep)}
.lead-form .consent{display:flex;align-items:flex-start;font-weight:normal;font-size:.9rem}
.consent input{width:1.2rem;height:1.2rem;flex-shrink:0}
.lead-form button{border:0;cursor:pointer}
.lead-form :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.contact-note{font-size:.9rem;margin:1rem 0}
.contact-header{background:var(--blue)}
.project-story,.detail-grid>*{min-width:0}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.hero h1{font-size:clamp(3.8rem,min(20vw,14svh),7rem)}.hero{padding-top:6rem}.hero h1 span:last-child{margin-left:0}.manifesto-lines h2{font-size:clamp(1.8rem,8vw,4rem)}.experience-copy h2 span{opacity:1!important;transform:none!important}.project-story{flex-direction:column;align-items:flex-start;gap:2rem}.detail-grid,.contact-layout{grid-template-columns:1fr;gap:2rem}.project-hero h1{font-size:clamp(2.8rem,12vw,6rem)}.real-gallery img{height:45vh}.real-gallery img:nth-child(2){height:35vh}}
@media(max-width:520px){.project-grid{grid-template-columns:1fr}.project-card img{aspect-ratio:4/5}.project-card{max-width:100%}.project-card h3{font-size:2rem}.project-card-body{padding:1.25rem}.projects-section{padding-block:4rem}.hero h1{font-size:clamp(3.5rem,min(20vw,13svh),5.5rem)}.hero-proof{max-width:28rem}.hero-actions{margin-top:1rem}.project-story{padding-block:3rem}.detail-grid h2{font-size:1.8rem}.project-end{gap:1rem}.lead-form{padding:1.2rem}.contact-page{padding-top:6rem}.real-gallery{padding:1rem}.real-gallery img{height:34vh}.real-gallery img:nth-child(2){height:28vh}.project-emblem{width:140px;height:140px}.number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.number-grid strong{font-size:3.2rem}.number-grid span{font-size:.8rem}}
@media(max-width:850px){.manifesto-lines h2{font-size:clamp(1.8rem,7.2vw,3.6rem)}}
@media(max-width:520px){.manifesto-lines h2{font-size:clamp(1.55rem,7.8vw,2.55rem);letter-spacing:-.05em}}
@media(max-width:850px),(pointer:coarse){.hero-fluid{display:none}}
@media(prefers-reduced-motion:reduce){.hero-slides .hero-media{transition:none}.hero-slides .hero-media:not(.is-active){display:none}.hero-fluid{display:none}}

/* Arquitetura Casa do Batuque → Patú, Pirâmide e Secretinho. */
.patu-activities{grid-template-columns:repeat(3,minmax(0,1fr))}
.organization{background:#fff;color:var(--deep)}
.organization-root{display:table;margin:0 auto 2.5rem;padding:1rem 2rem;border-radius:3rem;background:var(--deep);color:#fff;font-weight:800;position:relative}
.organization-root::after{content:"";position:absolute;top:100%;left:50%;height:2.5rem;border-left:2px solid var(--sky)}
.organization-grid{grid-template-columns:repeat(3,minmax(0,1fr));position:relative}
.organization-grid .project-card{border:1px solid var(--sky);background:#f2f8ff}
.organization-contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.organization-contacts a{font-weight:700;padding:.8rem 0}
@media(max-width:1000px){.patu-activities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.patu-activities,.organization-grid,.organization-contacts{grid-template-columns:1fr}.organization-contacts{gap:0}.organization .projects-intro{font-size:1rem}}

.organization-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0}.organization-contact .text-link{margin-top:.35rem}

.project-hero-picture{position:absolute;inset:0;z-index:-3}.project-hero-picture .hero-media{z-index:auto}.patu-brinca-hero .hero-media{object-position:center center}@media(max-width:650px){.patu-brinca-hero .hero-media{object-position:center top}}

.organization-card{display:flex;flex-direction:column}
.organization-card>.organization-photo{display:block;height:auto}
.project-card-actions{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--sky)}
.project-details-link{font-size:.85rem;font-weight:700;min-width:0}
.project-socials{display:flex;gap:.4rem;flex-shrink:0}
.project-social{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--sky);border-radius:50%;color:var(--blue);background:#fff}
.project-social svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.project-social:hover{background:var(--blue);color:#fff}
.project-social:focus-visible,.project-details-link:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
/* Evita alturas percentuais e expansão flexível dos cartões no Safari móvel. */
@media(max-width:650px){
  .project-grid{align-items:start;grid-auto-rows:auto}
  .project-card,.organization-card{display:block;height:auto;min-height:0}
  .project-card>a,.organization-card>.organization-photo{display:block;height:auto;min-height:0;flex:none}
  .project-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
  .project-card-body{display:block;flex:none;min-height:0;height:auto;position:relative;color:#023374;-webkit-text-fill-color:#023374;opacity:1;visibility:visible}
  .project-card-body>span,.project-card-body>h3,.project-card-body>p,.project-details-link{color:#023374;-webkit-text-fill-color:#023374;opacity:1;visibility:visible}
  .project-card-body>h3{margin-top:1rem}
  .project-card-body>p{margin-top:1rem;margin-bottom:1rem}
  .project-card-body>b{display:block;margin-top:1rem}
  .project-card-actions{margin-top:.5rem;flex-wrap:wrap}
  .project-socials{margin-left:auto}
}
