/* Social links behave like living editorial strips, while remaining ordinary links. */
.social-hub { --social-accent: var(--orange); --social-ink: var(--ink); background: var(--ink); color: var(--paper); padding: 80px 0 32px; overflow: clip; }
.social-heading { display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: 60px; margin-bottom: 58px; }
.social-heading .eyebrow { color: #bdb7aa; margin-bottom: 21px; }
.social-heading h2 { font-size: clamp(3rem,5vw,5.4rem); }
.social-heading h2 em { color: #ff805d; }
.social-heading>p { justify-self: end; max-width: 38ch; font-size: 1rem; color: #d1cbc0; }
.social-list { border-top: 1px solid #5b574f; }
.social-row { --row-accent: var(--orange); --pointer-x: 50%; position: relative; display: grid; grid-template-columns: minmax(50px,.4fr) 1.3fr 1.4fr 1.2fr minmax(45px,.35fr); align-items: center; gap: 28px; min-height: 128px; padding: 20px var(--gutter); border-bottom: 1px solid #5b574f; isolation: isolate; overflow: hidden; transition: color .35s, min-height .35s; }
.social-row::before { content: ''; position: absolute; inset: 0; z-index: -2; background: var(--row-accent); transform: scaleY(0); transform-origin: bottom; transition: transform .45s cubic-bezier(.18,.75,.22,1); }
.social-row::after { content: ''; position: absolute; z-index: -1; width: 260px; aspect-ratio: 1; left: var(--pointer-x); top: 50%; border: 1px solid currentColor; border-radius: 50%; opacity: 0; transform: translate(-50%,-50%) scale(.45); transition: opacity .3s, transform .55s cubic-bezier(.18,.75,.22,1); pointer-events: none; }
.social-row:hover,.social-row:focus-visible { color: var(--social-ink); min-height: 148px; outline: 0; }
.social-row:hover::before,.social-row:focus-visible::before { transform: scaleY(1); }
.social-row:hover::after,.social-row:focus-visible::after { opacity: .24; transform: translate(-50%,-50%) scale(1); }
.social-instagram { --row-accent: var(--orange); }
.social-facebook { --row-accent: var(--mist); }
.social-linkedin { --row-accent: #7f9cff; }
.social-index { font: .75rem PlexMono,monospace; color: #aaa498; transition: color .3s; }
.social-row:hover .social-index,.social-row:focus-visible .social-index { color: currentColor; }
.social-name { font: 600 clamp(2.8rem,4.5vw,5.1rem)/.95 Barlow,sans-serif; letter-spacing: -.015em; }
.social-purpose { max-width: 28ch; font-size: .9375rem; }
.social-handle { font: .75rem/1.5 PlexMono,monospace; overflow-wrap: anywhere; }
.social-arrow { justify-self: end; font-size: 2.2rem; line-height: 1; transition: transform .35s; }
.social-row:hover .social-arrow,.social-row:focus-visible .social-arrow { transform: translate(7px,-7px); }
.social-ribbon { position: absolute; left: 0; bottom: 0; display: flex; width: max-content; opacity: 0; transform: translateY(100%); font: .6875rem/1 PlexMono,monospace; letter-spacing: .04em; white-space: nowrap; transition: opacity .25s, transform .35s; pointer-events: none; }
.social-ribbon>span { padding-right: 14px; }
.social-row:hover .social-ribbon,.social-row:focus-visible .social-ribbon { opacity: .7; transform: translateY(-10px); }
html[data-motion="on"] .social-row:hover .social-ribbon,html[data-motion="on"] .social-row:focus-visible .social-ribbon { animation: social-ribbon 16s linear infinite; }
@keyframes social-ribbon { to { transform: translate(-50%,-10px); } }
.social-status { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 25px; padding-top: 22px; font: .6875rem PlexMono,monospace; color: #aaa498; }
.social-status span:nth-child(2) { text-align: center; color: var(--paper); }
.social-status span:last-child { text-align: right; }
.footer-links { display: flex; align-items: center; gap: 28px; font-size: .875rem; }
.footer-links a { padding-block: 10px; }
.footer-links a:hover { text-decoration: underline; text-underline-offset: 6px; }
html[data-motion="off"] .social-row,html[data-motion="off"] .social-row::before,html[data-motion="off"] .social-row::after,html[data-motion="off"] .social-ribbon { transition: none !important; animation: none !important; }
@media (max-width:900px) { .social-heading { grid-template-columns: 1fr 1fr; gap: 35px; }.social-row { grid-template-columns: 45px 1fr 1fr 40px; }.social-handle { display: none; } }
@media (max-width:700px) {
  .social-hub { padding-top: 52px; }.social-heading { display: block; margin-bottom: 35px; }.social-heading h2 { font-size: 3.1rem; }.social-heading>p { margin-top: 24px; max-width: 34ch; }
  .social-row { grid-template-columns: 30px 1fr 38px; gap: 13px; min-height: 112px; padding-block: 20px; }.social-row:hover,.social-row:focus-visible { min-height: 112px; }.social-name { font-size: 2.65rem; }.social-purpose { grid-column: 2; font-size: .875rem; margin-top: -5px; }.social-arrow { grid-column: 3; grid-row: 1/3; align-self: center; font-size: 1.8rem; }.social-index { grid-row: 1/3; align-self: start; padding-top: 7px; }.social-ribbon { display: none; }
  .social-status { grid-template-columns: 1fr 1fr; }.social-status span:nth-child(2) { display: none; }.footer-links { display: block; text-align: right; }.footer-links a { display: block; padding: 5px 0; }
}
@media (prefers-reduced-motion:reduce) { .social-row,.social-row::before,.social-row::after,.social-ribbon { transition: none !important; animation: none !important; } }
