@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#102f30;--muted:#456060;--green:#075d55;--mint:#deefe8;--paper:#f7faf6;--line:#cadbd4}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 "DM Sans",system-ui,sans-serif}a{color:var(--green);font-weight:700}h1,h2,h3,.brand{font-family:Manrope,system-ui,sans-serif;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(2.1rem,5.4vw,5.1rem);margin:.25em 0}h2{font-size:clamp(1.55rem,3.4vw,3rem);margin:.25em 0 .65em}h3{font-size:1.4rem;margin:0}.wrap{width:min(1150px,calc(100% - 40px));margin:auto}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0}.nav nav,.tabs{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.nav a{text-decoration:none}.brand{font-size:2.2rem;color:var(--ink);font-weight:800}.brand span{color:#27996c}header{background:#fff;border-bottom:1px solid var(--line)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:8px;padding:.68em 1.05em;background:var(--green);color:white;font:700 1rem "DM Sans",system-ui;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#08423e}:focus-visible{outline:3px solid #b7671a;outline-offset:3px}.hero{background:var(--mint);padding:clamp(40px,8vw,105px) 0}.hero-grid,.contact{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,6vw,75px);align-items:center}.hero p:not(.eyebrow),.contact p{font-size:1.12rem;color:var(--muted);max-width:46ch}.hero img{width:100%;height:clamp(240px,35vw,420px);object-fit:cover;border-radius:24px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800;color:var(--green)}.section{padding:65px 0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.card p,.muted{color:var(--muted)}.process{background:#eaf2ec}.contact{align-items:start}.contact form,.login form{display:grid;gap:12px}label{display:grid;gap:4px;font-size:.9rem;font-weight:700}input,textarea,select{font:inherit;min-width:0;width:100%;border:1px solid #91aaa1;border-radius:7px;padding:.6em;color:var(--ink);background:#fff}textarea{min-height:95px}footer{background:#153b3a;color:#fff}footer a{color:#fff}.admin,.document{padding:28px 0 65px;min-height:65vh}.admin h1,.document h1{font-size:clamp(2.2rem,5vw,3.5rem)}.admin h2,.document h2{font-size:1.65rem}.tabs{padding-bottom:18px;border-bottom:1px solid var(--line)}.tabs a[aria-current]{text-decoration-thickness:3px}.login{max-width:450px;margin:auto}.notice{background:var(--mint);border-radius:8px;padding:12px 16px}.form-grid,.item{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;align-items:end}.form-grid,.record,.table-wrap{margin-bottom:16px}.span{grid-column:1/-1}.item{padding:10px 0;border-bottom:1px solid var(--line)}.table-wrap,.document{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.record{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.record form{display:flex;gap:10px;align-items:end}
@media(max-width:760px){.hero-grid,.contact{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:40px 0}.nav nav{gap:10px}.nav nav>a:not(.button){display:none}}
@media(max-width:420px){.cards{grid-template-columns:1fr}}
@media print{header,footer,button{display:none!important}.document{padding:0;width:100%}body{background:white}}

/* Public website */

.public-site{background:#faf8f3;color:#203c38}
.public-site header{background:#faf8f3;border:0}
.public-site .nav{padding:24px 0}
.public-site .brand{font-size:42px;letter-spacing:-3px}
.public-site .button,.public-site button{border-radius:40px;padding:16px 25px;background:#234f44}
.public-site .hero{position:relative;background:#e9e6dd;padding:0}
.public-site .hero-grid{min-height:690px;width:100%;grid-template-columns:1fr 1fr;gap:0}
.public-site .hero-grid>div{padding:75px max(30px,calc((100vw - 1150px)/2));padding-right:45px}
.public-site .hero h1{font-size:clamp(48px,5.9vw,86px);font-weight:500;letter-spacing:-.065em;line-height:1.06}
.public-site .hero h1 em{font-family:"Instrument Serif",Georgia,serif;font-weight:400;color:#416553}
.public-site .hero img{height:690px;width:100%;border-radius:0;object-fit:cover}
.public-site .hero p:not(.eyebrow){font-size:17px;line-height:1.8;margin:28px 0}
.public-site .eyebrow{font-size:11px;letter-spacing:.2em}
.public-site .section{padding-top:95px;padding-bottom:95px}
.public-site h2{font-weight:500;font-size:clamp(32px,4vw,52px);max-width:650px;margin-bottom:38px}
.public-site #servicos .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.public-site #servicos .card{padding:0;overflow:hidden;border:0;background:transparent;border-radius:0}
.public-site #servicos .card>img{width:100%;height:280px;object-fit:cover;border-radius:12px}
.public-site #servicos .card:nth-child(2)>img{object-position:right}
.public-site #servicos .card:nth-child(3)>img{object-position:bottom}
.public-site #servicos .card>div{padding:24px 0}
.public-site #servicos h3{font-size:27px;font-weight:500}
.public-site #servicos a{text-decoration:none;font-size:14px}
.public-site .process{background:#23483f;color:#f7f5ee}
.public-site .process p{color:#cddad1}
.public-site .process article{border-top:1px solid #658074;padding-top:25px}
.public-site .contact{gap:90px}
.public-site .contact .card{background:#fff;border:0;padding:32px;box-shadow:0 20px 65px #203c380d}
.public-site footer{background:#e9e6dd;color:#203c38}
.public-site footer a{color:#203c38}
@media(max-width:760px){.public-site .hero-grid{grid-template-columns:1fr}.public-site .hero-grid>div{padding:48px 24px}.public-site .hero img{height:350px}.public-site .hero-grid{min-height:auto}.public-site #servicos .cards{grid-template-columns:1fr}.public-site .contact{gap:30px}.public-site .section{padding-top:55px;padding-bottom:55px}}
