/* Shared social links, homepage invitation and delayed non modal follow prompt. */
.social-follow-panel { padding: clamp(48px, 7vw, 92px) max(24px, calc((100% - 1380px) / 2)); background: var(--acid, #bdc5ad); color: var(--ink, #252923); }
.social-follow-heading { margin: 0 0 29px; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(260px,.7fr); align-items: end; gap: clamp(24px,5vw,70px); }
.social-follow-eyebrow,.social-nudge-label { margin: 0 0 13px; color: var(--blue, #5c7064); font-size: .65rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.social-follow-heading h2 { max-width: 760px; margin: 0; font: 900 clamp(2.8rem,6vw,6.2rem)/.91 var(--display, Arial Black, sans-serif); letter-spacing: -.075em; text-transform: uppercase; }
.social-follow-heading h2 em { display: block; color: var(--blue, #5c7064); font: italic 500 .9em/.96 var(--serif, Georgia, serif); letter-spacing: -.04em; text-transform: none; }
.social-follow-heading > p { max-width: 430px; margin: 0 0 5px; color: var(--ink-soft, #4b5149); font-size: .95rem; }
.social-follow-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.social-follow-card { min-width: 0; min-height: 148px; padding: 20px 17px; display: grid; grid-template-columns: 31px minmax(0,1fr) 16px; align-items: start; gap: 12px; border: 1px solid rgba(37,41,35,.2); background: var(--paper, #f4f1e9); color: var(--ink, #252923); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.social-follow-card:hover { transform: translateY(-3px); border-color: var(--blue, #5c7064); box-shadow: 0 10px 24px rgba(37,41,35,.12); }
.social-follow-card:focus-visible,.social-nudge a:focus-visible,.social-nudge-close:focus-visible { outline: 3px solid var(--orange, #b47c61); outline-offset: 3px; }
.social-follow-icon { width: 29px; height: 29px; display: grid; place-items: center; color: var(--blue, #5c7064); }
.social-follow-icon svg { display: block; width: 25px; height: 25px; fill: currentColor; }
.social-follow-copy { min-width: 0; display: grid; gap: 5px; }
.social-follow-copy small { color: var(--blue, #5c7064); font-size: .56rem; font-weight: 900; letter-spacing: .13em; }
.social-follow-copy strong { font-size: .98rem; line-height: 1.2; }
.social-follow-copy > span { color: var(--ink-soft, #4b5149); font-size: .75rem; line-height: 1.45; }
.social-follow-arrow { justify-self: end; color: var(--blue, #5c7064); font-size: 1.1rem; }
.social-follow-note { margin: 15px 0 0; color: var(--ink-soft, #4b5149); font-size: .72rem; }
.social-nudge[hidden] { display: none !important; }
.social-nudge { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 1002; width: min(410px, calc(100vw - 32px)); max-height: calc(100vh - 36px); overflow: auto; padding: 21px; border: 1px solid var(--ink, #252923); border-top: 4px solid var(--blue, #5c7064); background: var(--paper, #f4f1e9); color: var(--ink, #252923); box-shadow: 0 16px 42px rgba(0,0,0,.24); animation: social-nudge-in .24s ease-out both; }
.social-nudge-close { position: absolute; top: 9px; right: 10px; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--line, rgba(37,41,35,.18)); background: transparent; color: var(--ink, #252923); font: 400 1.4rem/1 Arial, sans-serif; cursor: pointer; }
.social-nudge-label { margin-bottom: 7px; padding-right: 35px; }
.social-nudge h2 { margin: 0 36px 7px 0; font: 900 1.55rem/1.05 var(--display, Arial Black, sans-serif); letter-spacing: -.04em; text-transform: uppercase; }
.social-nudge > p:not(.social-nudge-label) { margin: 0 0 13px; color: var(--ink-soft, #4b5149); font-size: .78rem; line-height: 1.45; }
.social-nudge-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.social-nudge-links a { min-height: 40px; padding: 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 7px; border: 1px solid var(--line, rgba(37,41,35,.18)); color: var(--ink, #252923); font-size: .7rem; font-weight: 800; text-decoration: none; }
.social-nudge-links a:hover { background: var(--acid, #bdc5ad); }
@keyframes social-nudge-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1000px) { .social-follow-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .social-follow-panel { padding: 54px 16px; } .social-follow-heading { grid-template-columns: 1fr; gap: 13px; } .social-follow-heading h2 { font-size: clamp(2.8rem,12vw,4.6rem); } .social-follow-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; } .social-follow-card { min-height: 144px; padding: 15px 12px; grid-template-columns: 26px minmax(0,1fr) 12px; gap: 8px; } .social-follow-icon,.social-follow-icon svg { width: 24px; height: 24px; } .social-follow-copy strong { font-size: .84rem; } .social-follow-copy > span { font-size: .69rem; } .social-nudge { right: max(12px, env(safe-area-inset-right)); bottom: calc(12px + env(safe-area-inset-bottom)); width: calc(100vw - 24px); padding: 17px; } }
@media (max-width: 360px) { .social-follow-grid { grid-template-columns: 1fr; } .social-follow-card { min-height: 108px; } }
@media (prefers-reduced-motion: reduce) { .social-follow-card,.social-nudge { transition: none; animation: none; } }
