*{box-sizing:border-box}body{margin:0;background:#f8fafb;color:#071923;font:16px/1.6 var(--cp-font-body)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.025em;color:#0b3c5d}a{color:#006c70}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #006c70;outline-offset:4px}.page-wrap{width:min(1180px,calc(100% - 64px));margin:auto;padding:64px 0 80px}.page-intro{text-align:center;max-width:800px;margin:0 auto 48px}.section-label,.mini-label{display:block;color:#006c70;font-size:12px;font-weight:650;letter-spacing:.12em;margin-bottom:16px}h1{font-size:clamp(2.1rem,4.8vw,4rem);font-weight:650}h1 em{font-style:normal;color:#006c70}.page-intro p{max-width:650px;margin:22px auto 0;color:#52616a;font-size:18px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px}.panel{padding:32px;border:1px solid #d6e1e6;border-radius:20px;background:#fff;min-width:0}.panel h2{font-size:25px;font-weight:650}.panel-intro{color:#52616a;margin:10px 0 24px}.contact-aside{display:flex;flex-direction:column;gap:22px}.email-panel{background:#0b3c5d;color:#fff;border-color:#0b3c5d}.email-panel .mini-label{color:#9ce5e1}.email-panel h2{color:#fff}.email-link{display:flex;align-items:center;gap:12px;color:#9ce5e1;font-size:17px;text-decoration:none;margin-top:18px;overflow-wrap:anywhere}.email-link span{margin-left:auto}.email-link:hover{text-decoration:underline}.contact-social{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-social a{display:flex;gap:10px;align-items:center;min-height:48px;padding:10px 12px;border-radius:10px;border:1px solid #d6e1e6;color:#0b3c5d;text-decoration:none;font-size:14px}.contact-social a:hover{background:#eef3f5;border-color:#006c70}.contact-social svg{width:20px;height:20px;flex-shrink:0}form label{display:block;font-size:14px;color:#0b3c5d;font-weight:600;margin:20px 0 8px}form input,form textarea{display:block;width:100%;font:inherit;line-height:1.5;padding:12px 14px;border:1px solid #b9cbd3;border-radius:10px;background:#fff;color:#071923;min-height:48px}form textarea{resize:vertical}.optional{font-size:12px;font-weight:400;color:#52616a;margin-left:8px}.privacy-note{font-size:13px;line-height:1.6;color:#52616a;margin:18px 0}.form-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;width:100%;padding:12px 20px;border:0;border-radius:999px;background:#0b3c5d;color:#fff;text-decoration:none;font-family:inherit;font-size:15px;font-weight:600;line-height:1.5;cursor:pointer}.form-button:hover{background:#006c70}.form-button:disabled{opacity:.65;cursor:wait}.form-status{font-size:14px;color:#006c70;margin-top:16px;min-height:22px}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.faq-panel details{padding:16px 0;border-top:1px solid #d6e1e6}.faq-panel details:first-of-type{margin-top:22px}.faq-panel details:last-child{padding-bottom:0}.faq-panel summary{font-weight:600;color:#0b3c5d;cursor:pointer}.faq-panel details p{margin-top:12px;font-size:15px;color:#52616a}.download-panel{width:min(100%,560px);margin:auto}.download-page{min-height:calc(100svh - 220px)}.report-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:32px}.report-totals div{padding:20px;border-radius:12px;background:#eef3f5}.report-totals strong{display:block;font-size:32px;color:#0b3c5d}.report-totals span{font-size:14px;color:#52616a}.report-table{overflow-x:auto;margin:22px 0 36px}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th,td{padding:12px;border-bottom:1px solid #d6e1e6}td{overflow-wrap:anywhere}.inbox-message{padding:22px 0;border-bottom:1px solid #d6e1e6}.inbox-message p{margin-top:10px;overflow-wrap:anywhere}.inbox-message h3{font-size:20px}[hidden]{display:none!important}@media(max-width:760px){.page-wrap{width:calc(100% - 32px);padding:36px 0 48px}.page-intro{margin-bottom:28px}.page-intro p{font-size:16px}.contact-grid{grid-template-columns:minmax(0,1fr);gap:20px}.panel{padding:24px}.panel h2{font-size:23px}.email-link{font-size:15px}.report-totals{grid-template-columns:minmax(0,1fr)}}

/* Contact sections flow vertically: message, social links, then FAQs. */
.contact-page{max-width:880px;padding-top:28px;padding-bottom:36px}
.contact-page .page-intro{margin-bottom:22px}
.contact-page .contact-title{font-size:clamp(2rem,4.5vw,3.1rem);letter-spacing:-.03em;line-height:1.15}
.contact-page .contact-title em{font-style:italic;color:#006c70}
.contact-page .page-intro p{font-size:16px;line-height:1.5;margin-top:12px;max-width:680px}
.contact-page .contact-grid{display:flex;flex-direction:column;gap:16px}
.contact-page .contact-aside{display:flex;flex-direction:column;gap:16px}
.contact-page .panel{padding:20px 24px;border-radius:16px}
.contact-page .panel h2{font-size:22px}
.contact-page .panel-intro{margin:6px 0 12px;font-size:14px}
.contact-page .contact-name-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-page form label{margin:10px 0 5px;font-size:14px}
.contact-page form input{min-height:44px;padding:9px 12px}
.contact-page form textarea{min-height:82px;padding:9px 12px}
.contact-page .privacy-note{margin:10px 0;font-size:12px}
.contact-page .form-status{margin-top:10px;min-height:0}
.contact-page .form-status:empty{display:none}
.contact-page .social-panel{text-align:center}
.contact-page .contact-social{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.contact-page .contact-social a{justify-content:center;gap:6px;padding:8px;min-height:44px;font-size:13px}
.contact-page .contact-social svg{width:18px;height:18px}
.contact-page .faq-panel details{padding:10px 0}
.contact-page .faq-panel details:first-of-type{margin-top:12px}
.contact-page .faq-panel summary{font-size:14px;line-height:1.5}
.contact-page .faq-panel details p{font-size:14px;margin-top:8px}
@media(max-width:900px){.contact-page .contact-social{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.contact-page{padding-top:24px;padding-bottom:28px}.contact-page .panel{padding:18px}.contact-page .contact-name-row{grid-template-columns:minmax(0,1fr);gap:0}.contact-page .contact-social{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-page .contact-title{font-size:2rem}}
