/* Eth-Halvion social icons: shared by every page (<link rel="stylesheet" href="social.css">) */
.soc{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.soc a{--c:#F3DFA2;--rgb:243,223,162;--g:linear-gradient(135deg,#F3DFA2,#C8932B);--ink:#fff;
position:relative;width:54px;height:54px;display:grid;place-items:center;border-radius:18px;color:var(--c);
background:linear-gradient(145deg,rgba(var(--rgb),.20),rgba(var(--rgb),.05));
border:1px solid rgba(var(--rgb),.40);box-shadow:0 8px 22px -10px rgba(var(--rgb),.55),inset 0 1px 0 rgba(255,255,255,.10);
-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
transition:transform .4s cubic-bezier(.2,.8,.2,1),color .3s,border-color .3s,box-shadow .4s}
.soc a::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--g);opacity:0;transition:opacity .35s}
.soc a svg{position:relative;z-index:1;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.soc a:hover,.soc a:focus-visible{transform:translateY(-6px) rotate(-6deg) scale(1.06);color:var(--ink);border-color:transparent;box-shadow:0 18px 34px -10px rgba(var(--rgb),.75)}
.soc a:hover::before,.soc a:focus-visible::before{opacity:1}
.soc a:hover svg,.soc a:focus-visible svg{transform:scale(1.12) rotate(6deg)}
.soc a:focus-visible{outline:2px solid var(--c);outline-offset:4px}
/* tooltip */
.soc a::after{content:attr(data-l);position:absolute;left:50%;bottom:calc(100% + 12px);transform:translate(-50%,6px);padding:6px 10px;border-radius:8px;white-space:nowrap;
font:500 11px/1 "Space Grotesk",system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#0A0906;background:#F3DFA2;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.soc a:hover::after,.soc a:focus-visible::after{opacity:1;transform:translate(-50%,0)}
@media(hover:none){.soc a::after{display:none}}
/* brand colours */
.soc a[data-k=tiktok]{--c:#25F4EE;--rgb:37,244,238;--g:linear-gradient(135deg,#25F4EE,#FE2C55);--ink:#0A0906}
.soc a[data-k=instagram]{--c:#FF5BA8;--rgb:255,91,168;--g:linear-gradient(45deg,#F58529,#DD2A7B 55%,#8134AF)}
.soc a[data-k=x]{--c:#E7E9EA;--rgb:231,233,234;--g:linear-gradient(135deg,#f5f5f5,#8a8f94);--ink:#0A0906}
.soc a[data-k=youtube]{--c:#FF3B3B;--rgb:255,59,59;--g:linear-gradient(135deg,#FF3B3B,#B80000)}
.soc a[data-k=telegram]{--c:#3CB6F2;--rgb:60,182,242;--g:linear-gradient(135deg,#3CB6F2,#1C7FC9)}
.soc a[data-k=facebook]{--c:#4C8DFF;--rgb:76,141,255;--g:linear-gradient(135deg,#4C8DFF,#1456C8)}
.soc a[data-k=email]{--c:#F3DFA2;--rgb:243,223,162;--g:linear-gradient(135deg,#F3DFA2,#C8932B);--ink:#0A0906}
.soc a[data-k=phone]{--c:#4ADE80;--rgb:74,222,128;--g:linear-gradient(135deg,#4ADE80,#16A34A);--ink:#06210F}
/* light theme: slightly deeper icon colours so they stay readable on cream */
:root[data-theme=light] .soc a[data-k=tiktok]{--c:#0E9F9A}
:root[data-theme=light] .soc a[data-k=x]{--c:#1A1A1A;--rgb:26,26,26}
:root[data-theme=light] .soc a[data-k=email]{--c:#9A650C;--rgb:154,101,12}
:root[data-theme=light] .soc a[data-k=phone]{--c:#15803D}
:root[data-theme=light] .soc a[data-k=instagram]{--c:#D6246E}
@media(max-width:600px){.soc{gap:8px;--s:min(48px,calc((100vw - 110px)/8))}.soc a{width:var(--s);height:var(--s);border-radius:calc(var(--s)*.3)}.soc a svg{width:calc(var(--s)*.46);height:calc(var(--s)*.46)}}
@media(prefers-reduced-motion:reduce){.soc a,.soc a svg,.soc a::before,.soc a::after{transition:none}.soc a:hover,.soc a:focus-visible{transform:none}}