:root { --paper:#f5f8fb; --ink:#14243a; --muted:#5c6c7d; --green:#147d99; --green-dark:#113e64; --lime:#c3eaf0; --line:#dbe6ef; --white:#fff; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); background:var(--paper); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif; line-height:1.8; }
.site-header,.page,footer { max-width:860px; margin:0 auto; padding-left:32px; padding-right:32px; }.site-header { position:relative; display:flex; justify-content:space-between; align-items:center; padding-top:25px; padding-bottom:25px; }.site-header::before { content:""; position:absolute; z-index:-1; inset:0 calc((100vw - 100%) / -2); background:rgba(249,252,255,.94); border-bottom:1px solid rgba(20,125,153,.14); }.brand { color:var(--ink); text-decoration:none; font-size:1.05rem; font-weight:850; letter-spacing:-.035em; }.brand span { color:var(--green); }.site-header a:last-child { color:var(--muted); font-size:.78rem; font-weight:700; }
.page { padding-top:68px; padding-bottom:80px; }.eyebrow { margin:0 0 12px; color:var(--green); font-size:.73rem; font-weight:850; letter-spacing:.13em; }.page h1 { margin:0 0 32px; font-size:clamp(2.3rem,5vw,4rem); line-height:1.15; letter-spacing:-.065em; }.content { padding:34px; background:var(--white); border:1px solid rgba(20,125,153,.13); border-radius:16px; box-shadow:0 10px 28px rgba(17,62,100,.06); }.content h2 { margin:32px 0 8px; font-size:1.05rem; letter-spacing:-.03em; }.content h2:first-child { margin-top:0; }.content p,.content ul { margin:0 0 14px; color:#40546a; font-size:.92rem; }.content li + li { margin-top:5px; }.notice { padding:15px 17px; border-left:3px solid var(--green); background:#eef8fa; color:#40546a; font-size:.87rem; }.email-reveal { appearance:none; padding:11px 16px; border:1px solid var(--green); border-radius:10px; color:var(--green-dark); background:#eef8fa; font:inherit; font-size:.88rem; font-weight:800; cursor:pointer; }.email-reveal:hover { background:#dff3f6; }.email-output { margin-top:12px !important; min-height:1.8em; } a { color:var(--green); text-underline-offset:3px; } footer { display:flex; justify-content:space-between; gap:18px; padding-top:25px; padding-bottom:28px; border-top:1px solid var(--line); color:var(--muted); font-size:.75rem; } footer p { margin:0; } footer nav { display:flex; flex-wrap:wrap; gap:14px; font-weight:750; }
@media (max-width:650px) { .site-header,.page,footer { padding-left:20px; padding-right:20px; }.page { padding-top:48px; padding-bottom:55px; }.content { padding:24px 20px; } footer { display:block; } footer nav { margin-top:8px; } }

.contact-section { margin-top:40px; padding-top:34px; border-top:1px solid var(--line); }
.contact-section .eyebrow { margin-bottom:4px; }
.contact-section h2 { margin-top:0; font-size:1.55rem; }
.contact-form { display:grid; gap:20px; margin-top:26px; }
.form-field { display:grid; gap:7px; }
.form-field label { color:var(--ink); font-size:.88rem; font-weight:750; }
.form-field label span { color:var(--muted); font-size:.73rem; font-weight:650; }
.form-field label strong { color:var(--green); font-size:.73rem; }
.form-field input,.form-field select,.form-field textarea { width:100%; border:1px solid #cbd9e5; border-radius:10px; padding:11px 12px; color:var(--ink); background:#fff; font:inherit; font-size:.92rem; line-height:1.5; transition:border-color .2s,box-shadow .2s; }
.form-field textarea { resize:vertical; min-height:150px; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(20,125,153,.12); }
.field-note { margin:0 !important; color:var(--muted) !important; font-size:.75rem !important; }
.form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-consent { display:flex; align-items:flex-start; gap:9px; color:#40546a; font-size:.82rem; }
.form-consent input { margin-top:.4em; }
.form-submit { justify-self:start; min-width:150px; appearance:none; border:0; border-radius:10px; padding:12px 22px; color:#fff; background:var(--green-dark); font:inherit; font-size:.9rem; font-weight:800; cursor:pointer; transition:background .2s,transform .2s; }
.form-submit:hover { background:#0b5271; transform:translateY(-1px); }
.form-submit:disabled { opacity:.55; cursor:wait; transform:none; }
.form-status { min-height:1.8em; margin:0 !important; font-weight:700; }
.form-success { color:#0c6b4f !important; }
.form-error { color:#b42318 !important; }
