/* Liquid glass materials, matched to the supplied sage-glass reference. */
.profile-trigger { display:flex; align-items:center; gap:11px; min-width:0; border:0; padding:0; background:none; color:inherit; text-align:left; cursor:pointer; font:inherit; border-radius:12px; }
.profile-trigger:hover strong { text-decoration:underline; text-underline-offset:4px; }
.profile-trigger:focus-visible, .post-expand:focus-visible { outline:2px solid #415f35; outline-offset:5px; }
.profile-label { min-width:0; }
.profile-label strong { display:block; font-size:14px; }
.profile-label > span { display:block; font-size:12px; color:#65745b; margin-top:4px; overflow-wrap:anywhere; }
.post-avatar { position:relative; overflow:hidden; }
.post-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.post-expand { border:0; padding:3px 0; background:none; font:inherit; color:#415f35; font-weight:700; cursor:pointer; }
.social-card { transition:transform .2s ease,box-shadow .2s ease; }
.social-card:hover { transform:translateY(-4px); }
dialog.profile-dialog { padding:0; width:min(530px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; }
.profile-dialog .close { z-index:2; }
.profile-wash { height:108px; background:radial-gradient(ellipse at 20% 0%,#ffffff 0%,#dbe7d0 40%,#aabd9980 100%); border-bottom:1px solid #9ab08766; display:flex; align-items:center; justify-content:flex-end; padding:0 64px; }
.profile-wash > span { font-size:48px; color:#78926770; }
.profile-details { padding:0 30px 26px; }
.profile-details .post-avatar { width:80px; height:80px; margin-top:-40px; margin-bottom:20px; border:4px solid #f3f6ef; box-shadow:0 5px 18px #344b3926; font-size:22px; }
.profile-details h2 { margin:8px 0 4px; font-size:27px; }
.profile-handle { color:#65745b; font-size:14px; }
.profile-popout blockquote { margin:12px 0 25px; font-size:22px; line-height:1.6; color:#344b39; }
.profile-links { display:flex; flex-wrap:wrap; gap:10px; }
@media(prefers-reduced-motion:reduce) { .social-card { transition:none; } .social-card:hover { transform:none; } }
@media(max-width:480px) { .profile-details { padding:0 22px 22px; } .profile-popout blockquote { font-size:19px; } .profile-links .button { width:100%; text-align:center; } }
.social-section { max-width: 1100px; margin: 0 auto; padding: 32px 0 64px; }
.social-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 25px; gap: 20px; }
.social-heading h2 { font-size: 30px; letter-spacing: -1px; margin: 10px 0 0; font-weight: 700; }
.social-x { font-size: 35px; color: #607851; }
.social-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; margin: 0 0 32px; }
.social-intro p { margin: 0; color: #53654a; font-size: 16px; line-height: 1.8; }
.social-intro strong { color: #354e2e; font-weight: 700; }
.social-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.social-card { padding: 25px; border: 1px solid #7c926486; border-radius: 25px; background: linear-gradient(145deg,#ffffffb8,#f6f8efab 37%,#c3d1b884); box-shadow: inset 0 3px 3px #fff,inset 3px 0 5px #fff,inset 0 -3px 4px #738c5c63,0 10px 24px #4a5e2e1a; display: flex; flex-direction: column; min-width: 0; }
.post-author { display: flex; align-items: center; gap: 10px; }
.post-avatar { display: flex; align-items: center; justify-content: center; width: 39px; height: 39px; flex: 0 0 39px; border: 1px solid #8fa47b; border-radius: 50%; background: linear-gradient(150deg,#fff,#cfdfc0); box-shadow: inset 0 2px 2px #fff,inset 0 -2px 3px #65804b55; color: #4a693d; font-size: 12px; font-weight: 700; }
.post-author a { font-size: 14px; font-weight: 700; }
.post-author div { min-width: 0; }
.post-author div span { display: block; font-size: 12px; color: #65745b; margin-top: 4px; overflow-wrap: anywhere; }
.post-x { margin-left: auto; font-size: 21px; color: #4d633f; }
.post-type { font-size: 12px; color: #647858; margin: 24px 0 10px; }
.social-card blockquote { font-size: 17px; line-height: 1.6; margin: 0 0 27px; color: #3b5333; }
.post-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 17px; border-top: 1px solid #9ab08755; font-size: 12px; color: #65745a; }
.post-footer a { font-weight: 700; color: #415f35; text-decoration: underline; text-underline-offset: 4px; }
.social-context { color: #617358; font-size: 12px; line-height: 1.7; margin: 22px 0 0; max-width: 760px; }
@media(max-width:1150px) { .social-section { margin-left: 5%; margin-right: 5%; } .social-grid { gap: 14px; } .social-card { padding: 20px; } }
@media(max-width:760px) { .social-section { padding-top: 15px; padding-bottom: 45px; } .social-grid { grid-template-columns: 1fr; } .social-heading h2 { font-size: 26px; } .social-card { padding: 24px; } }
@media(max-width:760px) { .social-intro { grid-template-columns: 1fr; gap: 17px; margin-bottom: 26px; } }
:root {
  --ink: #344b39;
  --muted: #62715e;
  --green: #648365;
  --shadow: 0 14px 30px #2e46231a;
  color: var(--ink);
  background: #e9ece2;
  font-family: "Trebuchet MS", Arial, sans-serif;
}
body {
  background: radial-gradient(ellipse at 50% 20%, #fff 0%, #f1f3eb 42%, #d6dfcd 100%) fixed;
  isolation: isolate;
}
.header {
  height: 88px;
  background: linear-gradient(110deg, #ffffffa3, #f7faf259 50%, #e7eee29e);
  border-bottom: 1px solid #ffffffec;
  box-shadow: inset 0 -2px 3px #64815b18, 0 5px 24px #33472908;
  backdrop-filter: blur(18px);
}
.logo { padding: 0; width: 110px; height: 51px; min-width: 110px; line-height: 0; position: relative; overflow: hidden; border-radius: 10px; }
.logo img { display: block; position: absolute; width: 165px; height: 165px; max-width: none; left: -27px; top: -57px; }
.nav-wrap nav a { color: #596b53; }
.nav-wrap nav a.active {
  background: linear-gradient(165deg, #fff 2%, #f3f6efa8 42%, #bfceb452 85%, #fff);
  box-shadow: inset 0 2px 3px #fff, inset 0 -2px 3px #57774b38, 0 4px 9px #3a542b17;
  outline: 1px solid #fafff2;
  color: #3d5836;
}
.network { color: #63725a; }
.hero {
  overflow: visible;
  padding: 0 24px 35px;
  min-height: 478px;
}
.brand-banner { margin: 0 -24px 10px; }
.brand-banner img { display: block; width: 100%; height: clamp(210px, 27vw, 340px); object-fit: cover; object-position: center; mask-image: linear-gradient(to bottom, #000 84%, transparent 100%); }
.hero-wordmark {
  display: block;
  width: 380px;
  max-width: 70vw;
  height: auto;
  margin: 0 auto 1px;
  filter: drop-shadow(0 12px 14px #536d4724);
}
.hero h1 {
  font-size: clamp(28px, 2.6vw, 34px);
  font-weight: 700;
  letter-spacing: -1.8px;
  line-height: 1.15;
  color: #344c35;
}
.hero .intro { color: #62705b; font-size: 16px; margin: 12px 0 24px; }
.search-form {
  background: linear-gradient(175deg, #fffefcd9 5%, #eef3e7a8 47%, #b8cbb277 85%, #edf4e5d4);
  border: 1px solid #708a6287;
  box-shadow: inset 0 4px 3px #fff, inset 3px 0 5px #fff, inset -3px 0 5px #f9fff4,
    inset 0 -4px 4px #6d8a5e77, 0 0 0 3px #ffffffa8, 0 16px 30px #455b3126;
  backdrop-filter: blur(16px);
  padding: 13px 15px 13px 28px;
  min-height: 77px;
  max-width: 656px;
}
.search-form:focus-within { border-color: #4e7244; box-shadow: inset 0 3px 4px #fff, inset 0 -3px 4px #7995689c, 0 0 0 4px #7492654a, 0 15px 32px #48663721; }
.search-form input { font-size: 19px; color: #344b32; }
.search-form input::placeholder { color: #66775c; }
.search-form .suffix { color: #527147; font-size: 20px; }
.search-help { color: #66765b; font-size: 13px; margin-top: 17px; }
.button {
  border: 1px solid #71856a85;
  background: linear-gradient(165deg, #ffffffef, #f6f9f0b5 40%, #bfd0b36b 80%, #edf6e6);
  box-shadow: inset 0 2px 2px #fff, inset 2px 0 3px #fff, inset 0 -2px 3px #667f5270, 0 5px 12px #3a562224;
  color: #37582f;
}
.button.green {
  color: #fff;
  border: 1px solid #45613e8c;
  background: linear-gradient(170deg, #b1c9a5 0%, #78996c 37%, #56794c 75%, #94b080 100%);
  box-shadow: inset 0 2px 3px #f8fff4e0, inset 2px 0 3px #f7fff0a8, inset 0 -2px 2px #314e30ad, 0 5px 13px #3a542c30;
  text-shadow: 0 1px 2px #36532d8f;
}
.button:hover:not(:disabled) { box-shadow: inset 0 2px 3px #fff, inset 0 -2px 4px #5b76436b, 0 7px 18px #3a56223a; }
.button:disabled { opacity: .67; }
.stats-grid { gap: 20px; }
.stat, .name-card, .empty, .table-wrap {
  background: linear-gradient(145deg, #ffffffad 2%, #f6f8efa6 37%, #c3d1b884 100%);
  border: 1px solid #7c926486;
  box-shadow: inset 0 3px 3px #fff, inset 3px 0 5px #fff, inset -2px 0 3px #fff8, inset 0 -3px 4px #738c5c63, 0 10px 24px #4a5e2e1a;
  backdrop-filter: blur(12px);
  border-radius: 25px;
}
.stat { padding: 22px 24px; min-height: 113px; }
.label { color: #65765b; font-size: 12px; letter-spacing: .055em; }
.stat strong { color: #405c38; font-size: 26px; margin-top: 15px; }
.stat strong small { color: #5f7155; }
.status-note { color: #617358; margin-top: 26px; }
.content { padding-bottom: 48px; }
.section-page { padding-top: 58px; }
.page-heading { color: #344d35; }
.lead, .muted, .docs-section p, .docs-section li, .docs-nav, .empty p, .name-card p { color: #5e7055; }
.field, .toolbar input, .toolbar select {
  background: linear-gradient(165deg, #ffffffe0, #e1e9d6d4);
  border: 1px solid #93a881;
  box-shadow: inset 0 2px 3px #fff, inset 0 -2px 3px #819a6866;
  border-radius: 20px;
}
.result, dialog {
  background: linear-gradient(140deg, #fffffff5, #f1f5e9f2 50%, #c7d6baf0);
  border: 1px solid #829970;
  box-shadow: inset 0 4px 4px #fff, inset 3px 0 4px #fff, inset 0 -3px 5px #738e5c8a, 0 20px 45px #34482b2e;
  border-radius: 28px;
}
dialog { backdrop-filter: blur(25px); }
dialog::backdrop { background: #46503b45; backdrop-filter: blur(10px); }
dialog p, dialog label, .result p { color: #607254; }
.badge { background: #ecf3e4; border-color: #aabd98; color: #456c38; }
.badge.neutral { color: #66745e; background: #ebeee5; }
.notice, .checkout-summary { background: #e4eddbb3; border-color: #b2c29e; color: #536b45; }
.code-box { background: #f5f8eecc; border: 1px solid #a3b692; box-shadow: inset 0 2px 3px #fff, inset 0 -2px 3px #9aaf803a; }
th { color: #617353; }
th, td { border-color: #a7ba914f; }
footer { color: #627554; border-top: 1px solid #fafff5; text-shadow: 0 1px #fff9; }
footer p { color: #67795a; }
.footer-brand { color: #4c6c40; }
@media (min-width:1450px) { .hero { padding-top: 0; min-height: 490px; } }
@media (max-width:760px) {
  body { background-size: auto; }
  .header { height: auto; min-height: 116px; }
  .nav-wrap { padding-top: 7px; gap: 4px; }
  .logo { min-width: 90px; width: 90px; height: 44px; }
  .logo img { width: 135px; height: 135px; left: -22px; top: -46px; }
  .hero { padding: 0 22px 32px; min-height: 390px; }
  .brand-banner { margin: 0 -22px 10px; }
  .brand-banner img { height: 225px; object-fit: cover; }
  .hero-wordmark { width: 285px; max-width: 83vw; margin-bottom: 3px; }
  .hero h1 { font-size: 32px; letter-spacing: -1.2px; }
  .hero .intro { margin: 14px 0 25px; font-size: 16px; }
  .search-form { min-height: 68px; padding: 10px 10px 10px 19px; gap: 9px; }
  .search-form input { font-size: 16px; }
  .search-form .suffix { font-size: 17px; }
  .search-form .button { padding: 12px 15px; }
  .search-help { font-size: 12px; }
  .stats-grid { gap: 13px; }
  .stat { min-height: 110px; padding: 20px; border-radius: 23px; }
  .label { font-size: 11px; }
  .stat strong { font-size: 24px; }
  .status-note { color: #526747; }
}
@media (max-width:420px) {
  .hero { padding-left: 18px; padding-right: 18px; }
  .brand-banner { margin-left: -18px; margin-right: -18px; }
  .hero h1 { font-size: 29px; }
  .search-form input { font-size: 14px; }
  .search-form .button { padding: 11px 13px; }
  .stat { padding: 18px; }
}
/* Community links and contract announcement share the site's glass finish. */
.brand-topbar { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 20px; padding:12px 18px 5px; }
.ca-bubble, .community-x { display:inline-flex; align-items:center; justify-content:center; gap:10px; color:#405c38; font-family:inherit; font-size:12px; text-decoration:none; min-height:40px; }
.ca-bubble { cursor:pointer; padding:9px 16px; border:1px solid #8ba17c; border-radius:999px; background:linear-gradient(155deg,#ffffffec,#e1ead9dc 65%,#becfaf); box-shadow:inset 0 2px 3px #fff,inset 0 -2px 3px #78946766,0 4px 12px #405c3810; letter-spacing:.035em; transition:transform .18s,box-shadow .18s; }
.ca-bubble:hover { transform:translateY(-1px); box-shadow:inset 0 2px 3px #fff,inset 0 -2px 3px #78946766,0 6px 16px #405c3825; }
.community-x { padding:4px 6px; }
.community-x:hover { color:#203b21; text-decoration:underline; text-underline-offset:4px; }
.ca-bubble:focus-visible, .community-x:focus-visible { outline:2px solid #405c38; outline-offset:4px; }
@media(max-width:420px) { .brand-topbar { gap:6px 12px; padding:10px 10px 4px; } .ca-bubble { padding:8px 12px; } .community-x { gap:6px; font-size:11px; } }
/* Expandable FAQs echo the pale green glass of the brand artwork. */
.faq-section { max-width:1180px; margin:70px auto; padding:0 28px; scroll-margin-top:100px; }
.faq-heading { max-width:680px; margin-bottom:28px; }
.faq-heading h2 { font-size:clamp(28px,4vw,44px); letter-spacing:-.035em; color:#29442c; margin:10px 0; }
.faq-heading p,.faq-answer p { color:#50624e; line-height:1.75; }
.faq-topics { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:30px; }
.faq-topics a { padding:9px 14px; border:1px solid #c3cfbd; border-radius:99px; background:#ffffff9c; color:#365339; text-decoration:none; font-size:13px; }
.faq-topics a:hover { background:#e0ebd9; }
.faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.faq-group { scroll-margin-top:100px; padding:22px; border:1px solid #c4d0bf; border-radius:22px; background:linear-gradient(140deg,#ffffffd9,#eaf0e5b8); box-shadow:inset 0 1px 2px white,0 8px 24px #405c380a; }
.faq-group h3 { margin:0 0 13px; font-size:19px; color:#29442c; }
.faq-item { border-top:1px solid #b7c5b166; }
.faq-item summary { cursor:pointer; padding:16px 4px; color:#334a33; line-height:1.5; font-weight:600; font-size:14px; }
.faq-item summary::marker { color:#66835f; }
.faq-item summary:focus-visible,.faq-topics a:focus-visible { outline:2px solid #405c38; outline-offset:3px; border-radius:5px; }
.faq-answer { padding:0 4px 14px 19px; font-size:14px; overflow-wrap:anywhere; }
.faq-answer p { margin:0; }
.faq-answer a { color:#2d5631; text-underline-offset:3px; }
.faq-footer { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
@media(max-width:760px) { .faq-section { padding:0 18px; margin:45px auto; } .faq-grid { grid-template-columns:1fr; gap:16px; } .faq-group { padding:18px; } }
