:root{--ink:#102d31;--teal:#006d62;--paper:#f7f5ee;--line:#deded4}*{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:inherit}header,main,footer{max-width:1320px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:20px 4%;gap:20px}nav{display:flex;gap:24px;flex-wrap:wrap}nav a,.brand{text-decoration:none;font-weight:700}.brand strong{display:block;line-height:1;font-size:1.7rem;color:var(--teal)}main{padding:0 4%}section{padding:55px 0;scroll-margin-top:16px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:495px;background:#0d3537;color:#fff;padding:0;border-radius:12px;overflow:hidden}.hero>div{padding:55px 8%;align-self:center}.hero img{width:100%;height:100%;object-fit:cover}.eyebrow{font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin:0 0 16px}h1,h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;line-height:1.04}h1{font-size:clamp(3rem,6vw,5.8rem)}h2{font-size:clamp(2.3rem,4vw,4rem)}h3{line-height:1.2}.button,button{display:inline-block;background:var(--teal);color:white;border:0;border-radius:5px;padding:12px 18px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.hero .button{background:#d3efdf;color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}.card,form,.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px}.card button{background:transparent;color:var(--teal);padding:0;text-decoration:underline}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line)}form{display:grid;gap:13px}label{display:grid;gap:4px;font-weight:650}input,select,textarea{width:100%;padding:10px;border:1px solid #a2b1ae;border-radius:4px;font:inherit;background:white;color:var(--ink)}textarea{min-height:105px}footer{padding:28px 4%;border-top:1px solid var(--line)}.filters{margin-bottom:18px;max-width:320px}.app main,.app header,.app footer{max-width:860px}.app section{padding:30px 0}[hidden]{display:none!important}@media(max-width:720px){header{align-items:flex-start;flex-direction:column}nav{gap:14px}.hero,.split{grid-template-columns:1fr}.hero img{height:280px}.hero>div{padding:35px 7%}section{padding:35px 0}}
