.gallery{margin:0 0 4.5rem}.gallery-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem 3rem;align-items:start;margin-bottom:2rem}.gallery-intro>p{margin:0;max-width:40rem;color:var(--ink-soft)}.gallery-intro blockquote{margin:0;padding-left:1.2rem;border-left:4px solid var(--laterite)}.gallery-intro blockquote p{margin:0 0 .6rem;font:italic 400 clamp(1.2rem,2vw,1.55rem)/1.3 var(--display);color:var(--ink)}.gallery-intro cite{font-style:normal;font-size:.85rem;color:var(--ink-soft)}.gallery-grid{columns:4 15rem;column-gap:1rem}.g-item{break-inside:avoid;margin:0 0 1rem}.g-open{display:block;width:100%;padding:0;border:0;background:#221b141f;border-radius:10px;overflow:hidden;cursor:zoom-in}.g-open img{display:block;width:100%;height:auto;transition:transform .6s ease}.g-open:hover img{transform:scale(1.035)}.g-open:focus-visible{outline:3px solid var(--sign);outline-offset:3px}.g-item figcaption{font-size:.82rem;line-height:1.35;color:var(--ink-soft);margin-top:.45rem}.lightbox{width:min(92vw,70rem);max-height:92vh;padding:0;border:1px solid rgb(255 255 255 / .4);border-radius:18px;background:#14120eb8;-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);color:#fff;overflow:hidden}.lightbox::backdrop{background:#0a0806b3}.lightbox figure{margin:0;display:grid;place-items:center;padding:1rem 1rem 0}.lightbox img{max-width:100%;max-height:calc(92vh - 9rem);object-fit:contain;border-radius:10px}.lightbox figcaption{padding:.8rem .2rem 0;font-size:.95rem;text-align:center;max-width:50rem}.lb-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.9rem 1rem 1.1rem}.lb-controls button{font:700 .9rem/1 var(--text);color:#fff;background:#ffffff24;border:1px solid rgb(255 255 255 / .35);border-radius:999px;padding:.55rem .9rem;cursor:pointer}.lb-controls .lb-prev,.lb-controls .lb-next{font-size:1.3rem;padding:.35rem .85rem .45rem}.lb-controls button:hover{background:#ffffff42}.lb-controls button:focus-visible{outline:3px solid var(--mace);outline-offset:2px}.lb-count{font-size:.85rem;min-width:5rem;text-align:center;opacity:.85}.lb-close{margin-left:1rem}@media(max-width:760px){.gallery-intro{grid-template-columns:1fr}.gallery-grid{columns:2 9rem;column-gap:.6rem}.g-item{margin-bottom:.6rem}}@media(prefers-reduced-motion:reduce){.g-open img{transition:none}}.chat-launch,.chat-panel{--c-glass: rgb(255 250 240 / .74);--c-green: rgb(14 107 60 / .78);--c-edge: rgb(255 255 255 / .55);--c-blur: blur(12px) saturate(1.25);--c-shadow: inset 0 1px 0 rgb(255 255 255 / .6), 0 24px 60px -20px rgb(0 0 0 / .5);--c-ink: #221b14;--c-ink-soft: #5b4d3d;font-family:Poppins,system-ui,sans-serif}.chat-launch{position:fixed;right:1rem;bottom:1rem;z-index:30;font-weight:700;font-size:.9rem;color:#fff;background:var(--c-green);-webkit-backdrop-filter:var(--c-blur);backdrop-filter:var(--c-blur);border:1px solid var(--c-edge);box-shadow:var(--c-shadow);border-radius:999px;padding:.75rem 1.1rem .75rem 2.4rem;cursor:pointer}.chat-launch:before{content:"";position:absolute;left:1rem;top:50%;width:.95rem;height:.75rem;translate:0 -55%;border:2px solid #fff;border-radius:6px 6px 6px 2px}.chat-launch:hover{background:#0e6b3ce6}.chat-launch:focus-visible,.chat-panel button:focus-visible,.chat-panel textarea:focus-visible{outline:3px solid #c8962e;outline-offset:2px}body.chat-open .chat-launch{opacity:0;pointer-events:none}.chat-panel{position:fixed;right:1rem;bottom:1rem;z-index:31;width:min(26rem,calc(100vw - 2rem));height:min(38rem,calc(100vh - 2rem));display:flex;flex-direction:column;background:var(--c-glass);-webkit-backdrop-filter:var(--c-blur);backdrop-filter:var(--c-blur);border:1px solid var(--c-edge);border-radius:22px;box-shadow:var(--c-shadow);color:var(--c-ink);overflow:hidden}.chat-panel[hidden]{display:none}.chat-head{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1rem .8rem 1.1rem;background:var(--c-green);color:#fff}.chat-head h2{margin:0;font:600 1.15rem/1.2 Poppins,system-ui,sans-serif}.chat-head p{margin:.35rem 0 0;font-size:.78rem;line-height:1.35;opacity:.9}.chat-avatar{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 15%;border:2px solid rgb(255 255 255 / .8)}.chat-draft{display:inline-block;margin-top:.4rem!important;padding:2px 8px;border-radius:999px;background:#c8962e;color:#221b14;font-weight:600;opacity:1!important}.chat-sources{display:block;margin-top:.45rem;font-size:.75rem;color:#5b4d3d}.chat-sources a{font-weight:500}.chat-close{margin-left:auto;flex:none;width:2rem;height:2rem;border-radius:50%;border:1px solid rgb(255 255 255 / .5);background:#ffffff26;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer}.chat-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.chat-msg{max-width:88%;padding:.6rem .8rem;border-radius:16px;font-size:.92rem;line-height:1.45;overflow-wrap:anywhere}.chat-msg--senator{align-self:flex-start;background:#ffffffbf;border-bottom-left-radius:4px}.chat-msg--user{align-self:flex-end;background:#0e6b3c;color:#fff;border-bottom-right-radius:4px}.chat-msg--error{background:#a8492a1f;color:#7a2e17}.chat-msg a{color:#0e6b3c;font-weight:600;text-underline-offset:2px}.chat-typing{display:inline-flex;gap:4px;padding:4px 0}.chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--c-ink-soft);animation:chat-dot 1s infinite ease-in-out}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-suggest{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1rem .6rem}.chat-suggest[hidden]{display:none}.chat-suggest button{font:500 .8rem/1.2 inherit;color:var(--c-ink);background:#fff9;border:1px solid rgb(14 107 60 / .35);border-radius:999px;padding:.4rem .7rem;cursor:pointer;text-align:left}.chat-suggest button:hover{background:#fff}.chat-form{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid rgb(34 27 20 / .12)}.chat-form textarea{flex:1;resize:none;font:400 .95rem/1.4 inherit;color:var(--c-ink);background:#ffffffd9;border:1px solid rgb(34 27 20 / .2);border-radius:14px;padding:.55rem .75rem}.chat-form button{flex:none;align-self:flex-end;font:700 .9rem/1 inherit;color:#fff;background:#0e6b3c;border:0;border-radius:999px;padding:.7rem 1rem;cursor:pointer}.chat-form button:disabled{opacity:.5;cursor:wait}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:560px){.chat-panel{right:0;left:0;bottom:0;width:100%;height:min(85vh,40rem);border-radius:22px 22px 0 0}.chat-launch{right:.75rem;bottom:.75rem}}@media(prefers-reduced-motion:reduce){.chat-typing i{animation:none;opacity:.6}}
