:root{--forest:#173e34;--ink:#18332a;--paper:#f7f4e9;--gold:#f0cf7a;--line:#d9dece;--muted:#4a6055}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}a{color:inherit}a:focus-visible{outline:3px solid #b56b13;outline-offset:5px}.skip{position:absolute;left:1rem;top:-5rem;background:white;padding:.5rem;z-index:2}.skip:focus{top:1rem}.wrap{width:min(1120px,calc(100% - 3rem));margin-inline:auto}.top,.brand,nav,footer{display:flex;align-items:center}.top{min-height:84px;justify-content:space-between;gap:1rem}.brand{gap:.75rem;text-decoration:none;line-height:1.2}.brand strong{font-size:1.15rem;letter-spacing:.08em}.brand small,.links small{display:block;color:var(--muted)}.mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--forest);color:var(--gold);font-size:1.45rem}nav{gap:clamp(.8rem,3vw,2rem);flex-wrap:wrap}nav a{font-weight:650;text-decoration:none;font-size:.9rem}nav a:hover,.field-link:hover,footer a:hover{text-decoration:underline}.contact-link{border:1px solid #a0afa0;border-radius:100px;padding:.35rem .85rem}.hero{background:var(--forest);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;min-height:560px}.intro{align-self:center;padding:clamp(2.5rem,6vw,6rem) clamp(1.5rem,5vw,5rem) clamp(2.5rem,6vw,6rem) max(1.5rem,calc((100vw - 1120px)/2))}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.17em;margin:0 0 1rem}.hero .eyebrow,.field .eyebrow{color:var(--gold)}.eyebrow span{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--gold);margin-right:.4rem}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.06;margin:0}h1{font-size:clamp(3rem,5.8vw,6.2rem);letter-spacing:-.06em}h1 em{color:var(--gold);display:block}.lede{max-width:35ch;color:#e2ece1;margin:1.5rem 0 1.8rem}.button{display:inline-block;background:var(--gold);color:var(--ink);font-weight:750;text-decoration:none;border-radius:3px;padding:.8rem 1.1rem}.button:hover{background:#f8dfa1}figure{position:relative;margin:0;min-width:0;min-height:280px}figure img{width:100%;height:100%;position:absolute;object-fit:cover}figcaption{position:absolute;right:1rem;bottom:1rem;background:#173e34;color:#fff;padding:.25rem .6rem;font-size:.68rem}.band{background:#e5ead9;padding:.9rem 0}.band .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1rem;align-items:center}.band span{font-weight:800;letter-spacing:.12em;font-size:.7rem}.band p{margin:0;font-size:.87rem}.section{padding-block:clamp(3rem,7vw,6rem)}h2{font-size:clamp(2.55rem,5vw,4.5rem);letter-spacing:-.05em}.summary{color:var(--muted);max-width:60ch;margin:1rem 0 2rem}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.grid article{border:1px solid var(--line);border-top:3px solid #6f9279;background:#fcfaf3;padding:1.25rem}.number{font-size:.8rem;color:var(--muted);font-weight:800;display:block;margin-bottom:1.3rem}h3{font-size:1.55rem}.grid p,.places p:last-child{margin:.8rem 0 0}.field{background:#25493d;color:var(--paper)}.places{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:1.75rem 0}.places article{border-top:1px solid #769083;padding-top:1.2rem}.field-link{color:var(--gold);font-weight:700}.links{margin-top:1.6rem;border-top:1px solid var(--line)}.links a{display:flex;justify-content:space-between;gap:1rem;text-decoration:none;padding:1rem .45rem;border-bottom:1px solid var(--line)}.links a:hover{background:#e5ead9}.reach{background:#e5ead9}.reach p:not(.eyebrow){max-width:58ch}.address{font-size:.85rem}footer{padding-block:1.4rem;justify-content:space-between;gap:1rem;font-size:.85rem;flex-wrap:wrap}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.wrap{width:calc(100% - 2rem)}.top{padding-block:.8rem;align-items:flex-start;flex-direction:column;gap:.65rem}.hero{grid-template-columns:1fr}.intro{padding:2.4rem 1rem}.places{grid-template-columns:1fr}figure{min-height:250px}}@media(max-width:380px){.grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.priorities { background: #e5ead9; }
.priority-list {
  max-width: 48rem;
  margin: 0;
  padding: 0;
  list-style: decimal inside;
  border-top: 1px solid #a0afa0;
}
.priority-list li {
  border-bottom: 1px solid #a0afa0;
  padding: .9rem .35rem;
  font-weight: 650;
}
.priority-list li::marker { color: var(--muted); }

.signin { min-height: 100svh; display: grid; place-items: center; padding: 1rem; background: var(--forest); }
.signin-card { width: min(100%, 28rem); padding: clamp(1.5rem, 5vw, 3rem); border-radius: .75rem; background: var(--paper); }
.signin-card h1 { font-size: clamp(2.5rem, 8vw, 3.8rem); }
.signin-error { color: #912724; }
.signin form, #edit-form { display: grid; gap: .65rem; }
.signin input, .edit-dialog textarea { padding: .65rem; border: 1px solid #829589; border-radius: .3rem; font: inherit; width: 100%; color: var(--ink); background: white; }
.signin label, .edit-dialog label { font-weight: 700; }
button.button { border: 0; font: inherit; font-weight: 750; cursor: pointer; }
.signin .button { margin-top: .6rem; }
.signout { color: var(--forest); background: transparent; border: 0; padding: .3rem 0; font: inherit; font-size: .9rem; font-weight: 650; cursor: pointer; text-decoration: underline; }
.chat-launch { position: fixed; z-index: 2; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); display: flex; gap: .45rem; align-items: center; border: 1px solid #8da897; border-radius: 100px; padding: .75rem 1rem; box-shadow: 0 4px 18px #173e3440; background: var(--forest); color: white; font: inherit; font-weight: 700; cursor: pointer; }
.edit-dialog { width: min(30rem, calc(100% - 2rem)); max-height: calc(100% - 2rem); padding: 1.75rem; border: 1px solid var(--line); border-radius: .75rem; color: var(--ink); background: var(--paper); }
.edit-dialog::backdrop { background: #102b23b3; }
.edit-dialog h2 { font-size: 2.15rem; }
.edit-dialog textarea { resize: vertical; }
.edit-dialog .field-link { color: var(--forest); }
.chat-close { position: absolute; top: .4rem; right: .65rem; border: 0; background: transparent; color: var(--forest); cursor: pointer; font: inherit; font-size: 1.7rem; }
body:has(.chat-launch) footer { padding-bottom: 5rem; }

.signin select { padding: .65rem; border: 1px solid #829589; border-radius: .3rem; font: inherit; color: var(--ink); background: white; }
.account-list { list-style: none; padding: 0; margin: 1.25rem 0; }
.account-list li { border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem; padding: .65rem 0; overflow-wrap: anywhere; }
