/* Galanesia Links — responsive event profile patch */
*{box-sizing:border-box}
html{width:100%;min-height:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
 margin:0;min-height:100vh;width:100%;display:flex;justify-content:center;
 padding:clamp(18px,4vw,42px) 16px calc(24px + env(safe-area-inset-bottom));
 font-family:var(--custom-font,Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
 background-color:var(--custom-bg,#101827);background-repeat:no-repeat;
 background-size:cover;background-position:center;color:#fff;
}
.theme-dark{background-color:var(--custom-bg,#101827);color:#fff}
.theme-light{background-color:var(--custom-bg,#f4f6fb);color:#172033}
.theme-gradient{background-color:var(--custom-bg,#111827);color:#fff}
.profile{width:100%;max-width:560px;min-width:0;margin:0 auto;text-align:center}
.banner{
 width:100%;height:auto;aspect-ratio:2.35/1;min-height:130px;max-height:245px;
 border-radius:clamp(14px,3vw,22px);overflow:hidden;background:#273449;
 box-shadow:0 12px 34px #0002
}
.banner img{display:block;width:100%;height:100%;object-fit:cover}
.defaultbanner{background:linear-gradient(120deg,#0f172a,#2563eb,#60a5fa)}
.avatar{
 width:clamp(76px,19vw,108px);height:clamp(76px,19vw,108px);object-fit:cover;
 border-radius:50%;border:4px solid #fff;background:#fff;margin:-42px auto 12px;
 position:relative;display:block;box-shadow:0 8px 25px #0003
}
.profile h1{font-size:clamp(22px,5vw,32px);line-height:1.2;letter-spacing:-.5px;margin:18px 0 8px;overflow-wrap:anywhere}
.desc{white-space:normal;opacity:.82;line-height:1.65;margin:0 auto 22px;max-width:480px;font-size:clamp(13px,2.5vw,16px);overflow-wrap:anywhere}
.buttons{display:grid;gap:12px;width:100%;margin:18px auto 0}
.linkbutton{
 position:relative;display:flex;align-items:center;justify-content:center;gap:10px;
 width:100%;min-height:58px;padding:14px 48px;border:1px solid #ffffff38;
 border-radius:16px;background:#ffffff13;color:inherit;text-decoration:none;
 font-weight:700;font-size:clamp(14px,2.7vw,16px);line-height:1.35;
 transition:transform .18s ease,border-color .18s ease,background .18s ease;
 overflow-wrap:anywhere
}
.linkbutton:hover{transform:translateY(-2px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}
.linkbutton:focus-visible,.social a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.linkbutton b{position:absolute;right:18px;opacity:.7;font-size:19px}
.linkbutton span{position:absolute;left:18px}
.theme-light .linkbutton{background:#ffffffed;border-color:#e5e7eb;box-shadow:0 5px 20px #1720330b}
.social{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:22px 0}
.social a{border:1px solid #ffffff38;padding:9px 14px;border-radius:30px;color:inherit;text-decoration:none;font-size:13px}
.theme-light .social a{border-color:#d1d5db}
.wa-float{
 position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));
 width:54px;height:54px;border-radius:50%;background:#16a34a;color:#fff;
 display:grid;place-items:center;text-decoration:none;font-size:28px;
 box-shadow:0 8px 24px #0005;z-index:20
}
/* Directory styles retained */
.directory{width:min(560px,100%);text-align:center;margin:auto}
.directory .brand{width:60px;height:60px;margin:0 auto 12px;border-radius:18px;background:#2563eb;display:grid;place-items:center;font-size:30px;font-weight:900}
.directory h1{margin:10px 0}.directory>p{opacity:.7;margin-bottom:30px}
.directory h2{font-size:14px;text-transform:uppercase;letter-spacing:1px;opacity:.65}
.directory .linkbutton{margin:12px 0}
@media(max-width:480px){
 body{padding:18px 14px calc(18px + env(safe-area-inset-bottom))}
 .banner{aspect-ratio:1.9/1;min-height:120px;border-radius:15px}
 .avatar{margin-top:-36px;margin-bottom:9px;border-width:3px}
 .profile h1{margin-top:14px}
 .linkbutton{min-height:54px;border-radius:14px;padding:13px 42px}
 .linkbutton b{right:14px}.linkbutton span{left:14px}
 .wa-float{width:50px;height:50px;right:14px;bottom:14px}
}
@media(min-width:900px){.profile{max-width:600px}.banner{max-height:260px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
