/* Reuse the existing service SVGs; keep labels and official destinations. */
.official-sns-section .social-grid>a{grid-template-columns:46px minmax(0,1fr)}
.official-sns-section .social-icon{display:grid;place-items:center;width:46px;height:46px;padding:10px;border-radius:13px;background:#f3f6f8;color:#10151c}
.official-sns-section [data-platform="tiktok"] .social-icon{background:#111;color:#fff}
.official-sns-section [data-platform="instagram"] .social-icon{background:linear-gradient(35deg,#f9b34b,#dc3478 48%,#7441cc);color:#fff}
.official-sns-section [data-platform="youtube"] .social-icon{background:#fff0f0;color:#f00}
.sns-brand-cluster{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;width:31px;height:31px;flex:none}
.sns-brand-cluster .sns-brand-mark{display:grid;place-items:center;min-width:0;min-height:0;padding:3px;border-radius:4px;background:#fff;color:#111}
.sns-brand-cluster .sns-brand-mark[data-platform="instagram"]{background:linear-gradient(35deg,#f9b34b,#dc3478 48%,#7441cc);color:#fff}
.sns-brand-cluster .sns-brand-mark[data-platform="youtube"]{color:#f00}
.sns-brand-cluster .sns-brand-mark svg{display:block;width:100%;height:100%}
@media(max-width:780px){
 .official-sns-section .social-grid>a{grid-template-columns:1fr}
 .official-sns-section .social-icon{width:48px;height:48px;padding:10px;border-radius:14px}
 .mobile-official-sns{gap:6px;padding:7px 10px}
 .mobile-official-sns .sns-brand-cluster{width:29px;height:29px;gap:2px}
 .mobile-official-sns .sns-brand-mark{padding:2px;border-radius:3px}
 .social-dock-link{gap:12px;padding-left:14px;padding-right:14px}
 .social-dock-link .sns-brand-cluster{width:44px;height:44px;gap:4px}
 .social-dock-link .sns-brand-mark{padding:4px;border-radius:5px}
 .social-dock-copy{min-width:0}
 .social-dock-copy small{font-size:9px}
 .social-dock-arrow{flex:none;font-size:22px}
}
@media(max-width:359px){
 .mobile-official-sns{padding:7px 8px;gap:5px}
 .mobile-official-sns .sns-brand-cluster{width:25px;height:25px}
 .social-dock-link{gap:10px}
 .social-dock-copy strong{font-size:16px}
}

/* Readable names and full-card touch targets, with equal emphasis for all three. */
.official-sns-section{padding:36px;gap:32px;scroll-margin-top:112px;grid-template-columns:.7fr 1.3fr}
.official-sns-section h2{font-size:clamp(27px,2.8vw,36px);letter-spacing:.015em}
.official-sns-section .social-grid{gap:14px}
.official-sns-section .social-grid>a{grid-template-columns:52px minmax(0,1fr) 38px;gap:13px;padding:22px 17px;min-height:112px;border-color:#bed6e6;border-radius:20px;box-shadow:0 4px 0 #dceaf3;text-align:left;justify-items:stretch}
.official-sns-section .social-icon{width:52px;height:52px;padding:11px;border-radius:15px}
.official-sns-section .social-details strong{font-size:22px;line-height:1.4}
.official-sns-section .social-details>span{display:block;font-size:12px;color:#4a6577;line-height:1.6;margin-top:5px;overflow-wrap:normal;white-space:nowrap}
.official-sns-section .social-visit{grid-column:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;margin:0;padding:0;border:0;font-size:12px;line-height:1.4;color:#386987;width:auto;font-weight:500}
.official-sns-section .social-visit b{font-size:22px;line-height:1.1}
.social-dock[hidden]{display:none!important}
@media(max-width:1150px) and (min-width:781px){.official-sns-section{grid-template-columns:1fr;gap:24px}.official-sns-section .follow-intro>p:not(.eyebrow){margin-top:10px}.official-sns-section .social-grid>a{padding:20px}}
@media(max-width:780px){
 .official-sns-section{width:calc(100% - 32px);padding:25px 18px 22px;gap:21px;scroll-margin-top:20px;grid-template-columns:1fr}
 .official-sns-section h2{font-size:28px;line-height:1.45;margin:8px 0 0}
 .official-sns-section .follow-intro>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:12px}
 .official-sns-section .follow-intro>.supervision-line{font-size:11px;margin-top:10px}
 .official-sns-section .social-grid{grid-template-columns:1fr;gap:12px}
 .official-sns-section .social-grid>a{grid-template-columns:50px minmax(0,1fr) 32px;gap:13px;padding:17px 14px;min-height:88px;border-radius:17px}
 .official-sns-section .social-icon{width:50px;height:50px;padding:10px;border-radius:14px}
 .official-sns-section .social-details strong{font-size:22px}
 .official-sns-section .social-details>span{font-size:12px}
 .official-sns-section .social-visit{font-size:12px;padding:0;gap:1px;width:auto}
 .official-sns-section .social-visit b{font-size:22px}
 .social-dock-copy small{font-size:11px;letter-spacing:0}
 .social-dock-copy strong{font-size:18px}
}
@media(max-width:359px){
 .official-sns-section{padding:22px 13px}
 .official-sns-section h2{font-size:26px}
 .official-sns-section .social-grid>a{grid-template-columns:44px minmax(0,1fr) 25px;gap:10px;padding:16px 10px;min-height:82px}
 .official-sns-section .social-icon{width:44px;height:44px;padding:9px;border-radius:12px}
 .official-sns-section .social-details strong{font-size:21px}
 .official-sns-section .social-details>span{font-size:11px}
 .social-dock-copy small{font-size:10px}.social-dock-copy strong{font-size:17px}
}

/* Three official channels: center the final card and the third compact logo. */
.sns-brand-cluster .sns-brand-mark:last-child{grid-column:1/-1;justify-self:center;width:calc((100% - 3px)/2)}
@media(min-width:781px){
 .official-sns-section .social-grid>a:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc((100% - 14px)/2)}
}
