/* Shared contact modal. Uses the publication's existing two typefaces. */
.gc-trigger{display:inline-flex;align-items:center;gap:24px;min-height:44px;border:0;background:none;padding:8px 0;color:var(--ink,#272b28);font:20px/1.4 var(--serif,Georgia,serif);cursor:pointer}
.gc-trigger>span:first-child{background:linear-gradient(transparent 66%,#d2dfcb 66%,#d2dfcb 98%,transparent 98%);text-decoration:none}
.gc-trigger>span:last-child{font:16px/1 GlimpseHeaderGraphik,Arial,sans-serif;transition:transform .15s ease}
.gc-trigger:hover>span:last-child{transform:translateX(3px)}
.gc-trigger:hover>span:first-child{background-image:linear-gradient(transparent 66%,#bdcfb5 66%,#bdcfb5 98%,transparent 98%)}
.gc-dialog{--gc-sans:GlimpseHeaderGraphik,Arial,sans-serif;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:30px 34px 32px;border:1px solid var(--line,#d9dcd3);border-radius:4px;background:var(--paper,#fcfcfa);color:var(--ink,#272b28);box-shadow:0 16px 70px #1d2a2426;overscroll-behavior:contain}
.gc-dialog[open]{animation:gc-appear .16s ease-out}
.gc-dialog::backdrop{background:#29302959;backdrop-filter:blur(2px)}
.gc-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.gc-heading h2{margin:0;font:400 30px/1.2 var(--serif,Georgia,serif);letter-spacing:-.5px}
.gc-heading button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;margin:-8px -10px -8px 0;padding:0;border:0;background:none;color:var(--muted,#73766f);font:26px/1 var(--gc-sans);cursor:pointer}
.gc-heading button:hover{color:var(--ink,#272b28)}
.gc-form label{display:block;margin-bottom:8px;font:12px/1.5 var(--gc-sans)}
.gc-form input,.gc-form textarea{display:block;width:100%;min-width:0;min-height:44px;border:1px solid var(--line-dark,#b8bdb2);border-radius:3px;padding:11px 12px;background:#fffefa;color:var(--ink,#272b28);font:14px/1.6 var(--gc-sans)}
.gc-form textarea{min-height:150px;resize:vertical}
.gc-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.gc-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gc-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px}
.gc-send{display:inline-flex;align-items:center;gap:24px;min-height:44px;padding:11px 16px;border:1px solid #314432;border-radius:3px;background:#314432;color:#fffefa;font:12px/1.5 var(--gc-sans)}
.gc-send:hover:not(:disabled){background:#486044}
.gc-actions a{font:11px/1.6 var(--gc-sans);color:var(--muted,#73766f);text-decoration-color:#8ba58c;text-underline-offset:4px}
.gc-status{margin:18px 0 0;font:12px/1.7 var(--gc-sans);color:var(--muted,#73766f)}
.gc-dialog :is(button,a,input,textarea):focus-visible{outline:2px solid #6b8166;outline-offset:3px}
body:has(.gc-dialog[open]){overflow:hidden}
@keyframes gc-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.gc-dialog{padding:23px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.gc-fields{grid-template-columns:1fr;gap:16px}.gc-form input,.gc-form textarea{font-size:16px}.gc-actions{gap:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.gc-dialog[open]{animation:none}.gc-trigger>span:last-child{transition:none}}
@media print{.gc-dialog,.gc-trigger{display:none}}
.gc-field+.gc-field{margin-top:20px}
.gc-intro{margin:-8px 0 24px;font:14px/1.65 var(--gc-sans);color:var(--muted,#73766f)}
.gp-contact .gc-trigger{display:flex}
.gp-contact .gc-trigger+.gc-trigger{margin-top:10px}
