/* Brand fonts (OFL, self-hosted in /fonts/) */
@font-face { font-family: "Crimson Pro"; src: url(/fonts/CrimsonPro-Regular.ttf) format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url(/fonts/InstrumentSans-Regular.ttf) format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url(/fonts/InstrumentSans-Bold.ttf) format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
:root{--brand:#347C64;--forest:#123D32;--mint:#BDE7D2;--ink:#17251F;--muted:#4F5F58;--bg:#F7F6F0;--card:#fff;--line:#D9E3DD;--night:#123D32;--font:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--serif:"Crimson Pro",Georgia,serif}
*{box-sizing:border-box}
body{margin:0;font:16px/1.65 var(--font);color:var(--ink);background:radial-gradient(40rem 22rem at 0% 0%,rgb(52 124 100/.14),transparent 60%),radial-gradient(36rem 22rem at 100% 0%,rgb(189 231 210/.35),transparent 60%),var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:#1F5C49}
.i{width:1.1em;height:1.1em;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wrap{max-width:62rem;margin:0 auto;padding:0 1.25rem}
.top{background:var(--night)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;min-height:4rem}
.logo{display:inline-flex;align-items:center;gap:.6rem;color:#fff;font-weight:800;text-decoration:none}
.logo-mark{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.7rem;color:#fff;background:linear-gradient(140deg,#5FA98C,#347C64 45%,#123D32);box-shadow:inset 0 1px 0 rgb(255 255 255/.45),inset 0 -3px 0 rgb(0 0 0/.18)}
.top nav{display:flex;gap:.2rem;flex-wrap:wrap}
.top nav a{color:#b8cec5;text-decoration:none;font-size:.9rem;padding:.35rem .7rem;border-radius:99px}
.top nav a:hover{background:rgb(255 255 255/.08);color:#fff}
main{padding:3rem 1.25rem}
main.narrow{max-width:32rem}
main.doc{max-width:48rem}
.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:2rem 1.9rem;box-shadow:inset 0 1px 0 #fff,0 8px 16px -6px rgb(15 23 42/.08),0 34px 60px -24px rgb(6 60 45/.35)}
.center{text-align:center}
.ico{display:inline-grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:16px;color:#fff;background:linear-gradient(140deg,#8FCBB0,#059669);box-shadow:inset 0 1px 0 rgb(255 255 255/.45),inset 0 -3px 0 rgb(0 0 0/.15),0 12px 22px -8px rgb(52 124 100/.65)}
.ico .i{width:1.5rem;height:1.5rem}
.ico.danger{background:linear-gradient(140deg,#fb7185,#e11d48)}
h1{font-size:1.6rem;letter-spacing:-.02em;margin:.8rem 0 .5rem;line-height:1.2}
p{color:#334039}
label{display:block;font-weight:650;margin:1rem 0 .35rem}
input{width:100%;font:inherit;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}
input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgb(52 124 100/.15)}
button{margin-top:1.25rem;width:100%;font:inherit;font-weight:750;padding:.85rem;border:0;border-radius:13px;color:#fff;cursor:pointer;background:linear-gradient(180deg,#8FCBB0,#347C64 45%,#047857);box-shadow:inset 0 1px 0 rgb(255 255 255/.4),inset 0 -2px 0 rgb(0 0 0/.15),0 12px 22px -10px rgb(52 124 100/.75)}
button.danger{background:linear-gradient(180deg,#fb7185,#e11d48 45%,#be123c);box-shadow:inset 0 1px 0 rgb(255 255 255/.4),inset 0 -2px 0 rgb(0 0 0/.15),0 12px 22px -10px rgb(225 29 72/.6)}
.error{color:#b42318;font-weight:600}
.facts{padding-left:1.2rem;color:var(--muted)}
.hp{position:absolute;left:-9999px}
.legal p{font-size:1.04rem;line-height:1.8}
.kicker{margin:0;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#047857}
.meta{color:var(--muted);font-size:.9rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.foot{color:var(--muted);text-align:center;padding-bottom:2rem;font-size:.9rem}
main.wrap{padding-top:3rem;padding-bottom:3rem}
.legal h2{font-size:1.15rem;margin:1.8rem 0 .5rem;letter-spacing:-.01em}
.legal ul{padding-left:1.25rem;color:#334039;line-height:1.75}
.legal li{margin:.2rem 0}
.legal .meta{margin-bottom:1rem}
.lb-mark{display:block;border-radius:.65rem;filter:drop-shadow(0 6px 12px rgb(189 231 210/.35))}

h1,h2,.card h1,.card h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;color:var(--forest)}

select,textarea{width:100%;font:inherit;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:#fbfdfc;min-height:48px}
select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgb(52 124 100/.15)}
.field-error{color:#b42318;font-weight:600;margin:.35rem 0 0;font-size:.92rem}
[aria-invalid=true]{border-color:#b42318}
.contact-grid{display:grid;gap:0 1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:36rem){.contact-grid{grid-template-columns:1fr}}
.contact-note{font-size:.92rem;color:var(--muted,#5b6b65);margin-top:1rem}

/* Long URLs in the legal texts wrap on phones instead of widening the page. */
.legal p,.legal li,.card p{overflow-wrap:anywhere}
main.wrap{min-width:0}
