/* Layout and typography translated from the supplied Mosaico Brazil design. */
:root{--navy:#0A1628;--muted:#4E5D78;--line:#E8ECF0;--paper:#F4F6F8;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:#fff}html{scroll-behavior:smooth;scroll-padding-top:24px}a{color:var(--navy)}a:hover{color:var(--muted)}input,select,textarea{width:100%;min-width:0}button,input,select,textarea{font-family:inherit}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8baccb;outline-offset:4px}a,button{transition:opacity .16s ease}a:hover,button:hover{opacity:.8}.skip-link{position:absolute;left:16px;top:-80px;background:white;padding:12px 20px;z-index:10}.skip-link:focus{top:12px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:4px}.faq-item summary{min-height:56px;display:flex;justify-content:space-between;gap:16px;padding:18px 22px;font-size:17px;font-weight:600;color:var(--navy);cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';font-size:22px;color:var(--muted)}.faq-item[open] summary:after{content:'−'}.faq-item p{margin:0;padding:0 22px 20px;color:#374151;font-size:16px}
.design-1{width: 100%; background: #FFFFFF; color: #1A1F2E; font-family: Aptos, 'Avenir Next', Inter, -apple-system, 'Segoe UI', sans-serif; font-size: 17px; line-height: 1.6}
.design-2{background: #FFFFFF; border-bottom: 1px solid #E8ECF0}
.design-3{max-width: 1200px; margin: 0 auto; padding: 18px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px}
.design-4{font-size: 20px; font-weight: 400; color: #0A1628; text-decoration: none}
.design-5{display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; font-size: 15px; font-weight: 500}
.design-6{color: #374151; text-decoration: none}
.design-7{color: #0A1628; text-decoration: none; padding: 10px 18px; border: 2px solid #0A1628; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center}
.design-8{background: #0A1628; color: #FFFFFF; overflow: hidden}
.design-9{max-width: 1200px; margin: 0 auto; padding: 104px 24px 112px; display: flex; flex-wrap: wrap; gap: 56px; align-items: center}
.design-10{flex: 999 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 26px}
.design-11{margin: 0; font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #B8C2D1}
.design-12{margin: 0; font-weight: 700; font-size: clamp(40px, 5vw, 60px); line-height: 1.08; letter-spacing: -0.02em}
.design-13{margin: 0; max-width: 600px; font-size: 19px; color: #D3DAE4}
.design-14{display: flex; flex-wrap: wrap; gap: 14px}
.design-15{background: #FFFFFF; color: #0A1628; text-decoration: none; font-weight: 600; padding: 15px 26px; border-radius: 4px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center}
.design-16{color: #FFFFFF; text-decoration: none; font-weight: 600; padding: 15px 26px; border-radius: 4px; border: 2px solid rgba(255,255,255,0.4); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center}
.design-17{margin: 0; font-size: 14px; color: #B8C2D1}
.design-18{flex: 1 1 380px; min-width: 0; position: relative}
.design-19{display: block; max-width: 440px; margin: 0 auto}
.design-20{position: absolute; left: 0; right: 0; bottom: -24px; margin: 0 auto; max-width: 340px; background: #FFFFFF; color: #1A1F2E; border-radius: 4px; padding: 22px 24px; box-shadow: 0 20px 40px rgba(0,0,0,0.25)}
.design-21{margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #6B7280}
.design-22{margin: 0; font-size: 20px; font-weight: 500; line-height: 1.3; color: #0A1628}
.design-23{font-weight: 700}
.design-24{max-width: 1200px; margin: 0 auto; padding: 80px 24px 64px}
.design-25{margin: 0 0 36px; font-weight: 700; font-size: 30px; letter-spacing: -0.02em; color: #0A1628}
.design-26{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 32px}
.design-27{display: flex; flex-direction: column; gap: 8px; padding-top: 18px; border-top: 2px solid #0A1628}
.design-28{font-size: 40px; font-weight: 700; letter-spacing: -0.02em; line-height: 1; color: #0A1628}
.design-29{color: #374151; font-size: 15px}
.design-30{margin: 36px 0 0; font-size: 13px; color: #6B7280; max-width: 860px}
.design-31{background: #F4F6F8}
.design-32{max-width: 1200px; margin: 0 auto; padding: 96px 24px}
.design-33{margin: 0 0 12px; font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #6B7280}
.design-34{margin: 0 0 16px; font-weight: 700; font-size: clamp(30px, 3vw, 36px); letter-spacing: -0.02em; color: #0A1628; max-width: 760px}
.design-35{margin: 0 0 48px; max-width: 720px; color: #374151}
.design-36{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px}
.design-37{background: #FFFFFF; border: 1px solid #E8ECF0; border-radius: 4px; padding: 32px; display: flex; flex-direction: column; gap: 14px}
.design-38{margin: 0; font-weight: 500; font-size: 24px; color: #0A1628}
.design-39{margin: 0; color: #374151; font-size: 16px}
.design-40{margin: 4px 0 0; padding-left: 18px; color: #1A1F2E; font-size: 15px; display: flex; flex-direction: column; gap: 6px}
.design-41{background: #FFFFFF}
.design-42{margin: 0 0 12px; font-weight: 700; font-size: clamp(30px, 3vw, 36px); letter-spacing: -0.02em; color: #0A1628}
.design-43{margin: 0 0 36px; max-width: 720px; color: #374151}
.design-44{overflow-x: auto; border: 1px solid #E8ECF0; border-radius: 4px}
.design-45{width: 100%; min-width: 560px; border-collapse: collapse; font-size: 16px}
.design-46{background: #F4F6F8; text-align: left; color: #0A1628}
.design-47{padding: 16px 20px; font-weight: 600}
.design-48{border-top: 1px solid #E8ECF0}
.design-49{padding: 16px 20px; font-weight: 500}
.design-50{padding: 16px 20px; color: #374151}
.design-51{background: #0A1628; color: #FFFFFF}
.design-52{max-width: 1200px; margin: 0 auto; padding: 104px 24px; display: flex; flex-wrap: wrap; gap: 64px; align-items: flex-start}
.design-53{flex: 999 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 22px}
.design-54{margin: 0; font-weight: 700; font-size: clamp(32px, 3.4vw, 42px); line-height: 1.12; letter-spacing: -0.02em}
.design-55{margin: 0; color: #D3DAE4; font-size: 18px}
.design-56{color: #FFFFFF}
.design-57{flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 14px}
.design-58{display: flex; gap: 16px; align-items: flex-start; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; padding: 22px 24px}
.design-59{flex: none; margin-top: 3px}
.design-60{margin: 0; font-weight: 600}
.design-61{margin: 4px 0 0; color: #C2CBD8; font-size: 15px}
.design-62{margin: 0 0 48px; font-weight: 700; font-size: clamp(30px, 3vw, 36px); letter-spacing: -0.02em; color: #0A1628}
.design-63{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 24px; margin-bottom: 64px}
.design-64{display: flex; flex-direction: column; gap: 12px}
.design-65{width: 44px; height: 44px; border-radius: 50%; background: #0A1628; color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-weight: 700}
.design-66{margin: 0; font-weight: 500; font-size: 22px; color: #0A1628}
.design-67{background: #FFFFFF; border: 1px solid #E8ECF0; border-radius: 4px; padding: 32px}
.design-68{margin: 0 0 24px; font-size: 18px; font-weight: 600; color: #0A1628}
.design-69{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 20px}
.design-70{border-top: 2px solid #4E5D78; padding-top: 12px}
.design-71{margin: 0; font-weight: 600; color: #0A1628}
.design-72{margin: 4px 0 0; color: #374151; font-size: 15px}
.design-73{margin: 20px 0 0; font-size: 13px; color: #6B7280}
.design-74{margin: 0 0 40px; max-width: 720px; color: #374151}
.design-75{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 24px}
.design-76{display: flex; flex-direction: column; gap: 14px}
.design-77{margin: 0; font-weight: 600; font-size: 18px; color: #0A1628}
.design-78{margin: 2px 0 6px; font-size: 14px; color: #4E5D78}
.design-79{margin: 0; font-size: 15px; color: #374151}
.design-80{max-width: 880px; margin: 0 auto; padding: 96px 24px}
.design-81{margin: 0 0 32px; font-weight: 700; font-size: clamp(30px, 3vw, 36px); letter-spacing: -0.02em; color: #0A1628}
.design-82{max-width: 1200px; margin: 0 auto; padding: 104px 24px; display: flex; flex-wrap: wrap; gap: 56px}
.design-83{flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 20px}
.design-84{display: flex; flex-direction: column; gap: 10px; margin-top: 12px; font-size: 16px}
.design-85{color: #B8C2D1; font-size: 14px}
.design-86{flex: 1 1 440px; min-width: 0; background: #FFFFFF; color: #1A1F2E; border-radius: 4px; padding: 32px; display: flex; flex-direction: column; gap: 18px}
.design-87{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px}
.design-88{display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600}
.design-89{min-height: 46px; padding: 0 14px; border: 1px solid #D1D5DB; border-radius: 4px; font: inherit; font-weight: 400; font-size: 16px}
.design-90{min-height: 46px; padding: 0 12px; border: 1px solid #D1D5DB; border-radius: 4px; font: inherit; font-weight: 400; font-size: 16px; background: #FFFFFF}
.design-91{padding: 12px 14px; border: 1px solid #D1D5DB; border-radius: 4px; font: inherit; font-weight: 400; font-size: 16px; resize: vertical}
.design-92{min-height: 52px; background: #0A1628; color: #FFFFFF; border: 0; border-radius: 4px; font: inherit; font-weight: 600; font-size: 17px; cursor: pointer}
.design-93{margin: 0; font-size: 13px; color: #6B7280}
.design-94{background: #FAFBFC; color: #4E5D78; font-size: 13px; border-top: 1px solid #E8ECF0}
.design-95{max-width: 1200px; margin: 0 auto; padding: 40px 24px; display: flex; flex-direction: column; gap: 14px}
.design-96{margin: 0; color: #0A1628; font-weight: 600}
.design-97{margin: 0; max-width: 900px}
.design-98{display: flex; flex-wrap: wrap; gap: 20px}
.design-99{color: #0A1628}
@media(max-width:600px){section>div[class]{padding:56px 20px;gap:32px}header nav[class]{padding:16px 20px;gap:12px}header nav>div[class]{gap:8px 16px;font-size:14px}#topo>div[class]{padding-top:64px;padding-bottom:72px}form[class]{padding:24px 20px}h1{overflow-wrap:break-word}footer>div[class]{padding:32px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button{transition:none}}
.confirmation{max-width:720px;margin:12vh auto;padding:32px 24px;font-family:Aptos,"Avenir Next",Inter,sans-serif;color:var(--navy);line-height:1.6}.confirmation>p:first-of-type{margin-top:64px;letter-spacing:.08em;font-size:13px;color:var(--muted)}.confirmation h1{font-size:clamp(36px,6vw,56px);line-height:1.1}.confirmation a{display:inline-block;padding:12px 0}

/* Locally hosted photography from Mosaico Advisory. */
.hero-background{position:relative;isolation:isolate}
.hero-background .hero-photo{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-background::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,22,40,.94) 0%,rgba(10,22,40,.8) 48%,rgba(10,22,40,.32) 100%)}
.hero-background .design-9{min-height:80vh;align-items:flex-end;gap:48px}
.hero-background .design-10{flex:1 1 620px;max-width:720px}
.hero-background .design-18{flex:1 1 260px;max-width:300px;margin-left:auto}
.hero-background .azulejo-accent{display:block;width:72px;height:72px;margin:0 0 20px auto;border:1px solid rgba(255,255,255,.35);border-radius:4px}
.hero-background .design-20{position:static;max-width:none;margin:0}
.hero-background .design-11,.hero-background .design-17{color:#D3DAE4}
@media(max-width:600px){.hero-background::before{background:rgba(10,22,40,.82)}.hero-background .hero-photo{object-position:60% center}.hero-background .design-9{min-height:auto}.hero-background .design-18{max-width:340px;margin-left:0}.hero-background .azulejo-accent{margin-left:0}}
.team-portrait{display:block;width:100%;max-width:240px;aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:4px;background:#E8ECF0}
