/* Business card: static contact terminal that replaces the former chat section. */
.contact-card-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.contact-intro{max-width:500px}.contact-intro .support{max-width:340px}
.contact-steps{list-style:none;margin:34px 0 0;padding:0;max-width:420px}
.contact-steps li{display:flex;gap:18px;align-items:baseline;padding:15px 0;border-top:1px solid var(--variant-line)}
.contact-steps li:last-child{border-bottom:1px solid var(--variant-line)}
.contact-steps span{font:10px var(--mono);color:var(--accent)}
.contact-steps strong{display:block;font-size:14px;font-weight:500;color:var(--variant-text)}
.contact-steps p{font-size:12px;line-height:1.8;color:var(--variant-muted);margin-top:3px}
.contact-home{width:100%;max-width:530px;justify-self:end;min-width:0}
.contact-terminal{margin-top:0}
.topic-tabs{display:flex;gap:20px;margin-top:28px;flex-wrap:wrap}
.topic-tabs button{border:0;border-bottom:1px solid var(--variant-line);background:transparent;padding:12px 0;font-size:11px;color:var(--variant-muted);transition:color .2s,border-color .2s}
.topic-tabs button:hover{color:var(--variant-text)}
.topic-tabs button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}
.topic-panel{position:relative;margin-top:20px;padding:20px 22px 14px;border:1px solid var(--variant-line);background:rgba(var(--variant-bg-rgb),.55)}
.topic-panel:before{content:'';position:absolute;top:-1px;left:-1px;width:24px;height:1px;background:var(--accent)}
.topic-services{list-style:none;margin:12px 0 4px;padding:0;min-height:calc(5 * (1.75em + 7px));font-size:12px;line-height:1.75;color:var(--variant-text)}
.topic-services li{display:flex;gap:10px;padding:3.5px 0}
.topic-services li:before{content:'+';flex-shrink:0;color:var(--accent)}
.contact-channels{margin-top:22px}
.contact-channels>a{display:flex;align-items:baseline;gap:14px;width:100%;padding:13px 4px 13px 0;border:0;border-bottom:1px solid var(--variant-line);background:none;text-align:left;font-size:11px;color:var(--variant-text);transition:background .2s}
.contact-channels>:first-child{border-top:1px solid var(--variant-line)}
.contact-channels span{width:110px;flex-shrink:0;font-size:10px;color:var(--variant-muted)}
.contact-channels b{flex:1;font-weight:400;min-width:0;overflow-wrap:anywhere}
.contact-channels i{font-style:normal;color:var(--variant-soft);white-space:nowrap}
.contact-channels>a:hover{background:linear-gradient(90deg,var(--variant-glow),transparent)}
.contact-channels>a:hover b,.contact-channels>a:hover i{color:var(--accent)}
/* About: a terminal panel opened from the menu; it is not part of the page flow. */
.about-dialog{width:min(880px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:0;background:var(--bg);color:var(--text);overflow:hidden;box-shadow:0 30px 120px #000c}
.about-dialog::backdrop{background:rgba(var(--variant-bg-rgb),.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.about-dialog[open]{animation:about-open .3s ease-out both}
.about-terminal{display:flex;flex-direction:column;max-height:calc(100dvh - 48px);margin:0}
.about-terminal .terminal-body{overflow-y:auto;overscroll-behavior:contain;padding:26px 28px 28px}
.about-close{display:grid;place-items:center;width:30px;height:30px;margin-left:auto;border:0;background:none;color:var(--variant-muted);font:20px/1 var(--mono);cursor:pointer;transition:color .2s}
.about-close:hover{color:var(--accent)}
.about-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:36px;align-items:start}
.about-copy h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(28px,3.2vw,40px);line-height:1.12;letter-spacing:-1.5px}
.about-copy .lead.small{margin-top:22px}
.about-list{margin:0}
.about-list>div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--variant-line)}
.about-list>div:last-child{border-bottom:1px solid var(--variant-line)}
.about-list dt{font-size:11px;color:var(--accent)}
.about-list dd{margin:0;font-size:11px;line-height:1.85;color:var(--variant-text)}
.about-links{display:flex;gap:24px;margin-top:24px;font-size:11px}
.about-links a{color:var(--variant-soft);border-bottom:1px solid var(--variant-line);padding-bottom:3px;transition:color .2s,border-color .2s}
.about-links a:hover{color:var(--accent);border-color:var(--accent)}
html:has(.about-dialog[open]){overflow:hidden}
@keyframes about-open{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.about-dialog[open]{animation:none}}
@media(max-width:1100px){.contact-card-section{gap:35px}.about-list>div{grid-template-columns:110px 1fr}}
@media(max-width:760px){.about-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.about-terminal{max-height:calc(100dvh - 16px)}.about-terminal .terminal-body{padding:20px 17px}.about-grid{grid-template-columns:minmax(0,1fr);gap:24px}.about-list>div{grid-template-columns:1fr;gap:4px}.about-list dt,.about-list dd{font-size:10px}.about-links{font-size:10px}}
@media(max-width:760px){.contact-card-section{display:flex;flex-direction:column;align-items:stretch;gap:40px;padding-bottom:70px;min-height:0}.contact-intro{max-width:none}.contact-home{max-width:none}.topic-tabs{gap:14px}.topic-tabs button{font-size:10px}.topic-panel{padding:18px 18px 12px}.topic-services{font-size:11px}.contact-channels span{width:88px}}
