/* Scoped editorial enhancement: the existing directory and detail pages stay intact. */
.studio-hub-page { padding-bottom: 24px; }
.studio-hub-jump { display:flex; gap:10px; flex-wrap:wrap; margin-block:0 32px; }
.studio-hub-jump a { display:flex; align-items:center; justify-content:center; min-height:46px; padding:10px 18px; border:1px solid var(--line); border-radius:14px; background:var(--panel); color:var(--mint); font-size:15px; font-weight:750; }
.studio-hub-jump a:hover { border-color:var(--mint); }
.studio-hub-content { margin-block:54px 48px; }
.studio-hub-content *, .studio-hub-jump * { box-sizing:border-box; min-width:0; }
.studio-hub-content [id] { scroll-margin-top:145px; }
.sh-intro { max-width:760px; margin-bottom:24px; }
.sh-kicker { color:var(--mint); font-size:13px; font-weight:800; letter-spacing:.1em; margin:0 0 10px; }
.studio-hub-content h2 { font-size:clamp(24px,3vw,32px); line-height:1.4; letter-spacing:-.035em; margin:0 0 15px; }
.studio-hub-content h3 { font-size:21px; line-height:1.5; letter-spacing:-.025em; margin:0 0 15px; }
.studio-hub-content p { font-size:16px; line-height:1.85; color:var(--soft); overflow-wrap:anywhere; margin:0 0 14px; }
.studio-hub-content p:last-child { margin-bottom:0; }
.sh-lessons { display:grid; gap:16px; }
.sh-lesson { display:grid; grid-template-columns:52px minmax(0,1fr); gap:20px; padding:28px; border:1px solid var(--line); border-radius:22px; background:var(--panel); }
.sh-number { color:var(--mint); font-size:21px; font-weight:800; line-height:1.6; }
.sh-lesson-copy { max-width:850px; }
.sh-centers, .sh-faq, .sh-reading { margin-top:48px; }
.sh-center-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sh-center { padding:23px; border:1px solid var(--line); border-radius:20px; background:var(--panel); display:flex; flex-direction:column; align-items:flex-start; }
.sh-center h3 { font-size:19px; }
.sh-center .sh-center-region { color:var(--mint); font-size:13px; font-weight:750; }
.sh-center .sh-registration { font-size:13px; color:var(--muted); }
.sh-center a, .sh-reading a { min-height:46px; display:flex; align-items:center; gap:10px; color:var(--mint); font-weight:750; font-size:15px; padding-block:8px; }
.sh-center a { margin-top:auto; }
.sh-photos { margin-top:24px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.sh-photos figure { margin:0; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--panel); }
.sh-photos img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; background:#0b192b; }
.sh-photos figcaption { padding:13px 16px; color:var(--muted); font-size:14px; line-height:1.7; }
.sh-faq-list { display:grid; gap:10px; }
.sh-faq details { border:1px solid var(--line); border-radius:16px; background:var(--panel); }
.sh-faq summary { cursor:pointer; min-height:56px; padding:18px 22px; font-size:16px; line-height:1.6; font-weight:700; overflow-wrap:anywhere; }
.sh-faq details[open] summary { color:var(--mint); }
.sh-faq details p { padding:0 22px 22px; }
.sh-reading { padding:26px; border-radius:20px; border:1px solid var(--line); background:linear-gradient(120deg,rgba(125,247,212,.06),rgba(189,166,255,.08)); }
.sh-reading-links { display:flex; flex-wrap:wrap; gap:10px 28px; }
.studio-hub-page :is(a,input,summary):focus-visible { outline:3px solid var(--mint); outline-offset:4px; }
@media(max-width:700px) {
 .studio-hub-page { padding-bottom:86px; }
 .studio-hub-page .sub-hero h1 { font-size:clamp(29px,8vw,42px); line-height:1.25; overflow-wrap:anywhere; }
 .studio-hub-page .sub-hero p, .studio-hub-page .section-heading p { font-size:16px; line-height:1.75; }
 .studio-hub-jump { gap:8px; margin-bottom:24px; }
 .studio-hub-jump a { flex:1 1 88px; padding:10px 7px; font-size:14px; border-radius:12px; }
 .studio-hub-content { margin-top:36px; }
 .studio-hub-content [id] { scroll-margin-top:165px; }
 .studio-hub-content h2 { font-size:25px; }
 .studio-hub-content h3 { font-size:20px; }
 .sh-lesson { grid-template-columns:1fr; gap:9px; padding:22px 19px; border-radius:18px; }
 .sh-number { font-size:16px; }
 .sh-center-grid, .sh-photos { grid-template-columns:1fr; }
 .sh-center { padding:22px 19px; }
 .sh-centers, .sh-faq, .sh-reading { margin-top:34px; }
 .sh-faq summary { padding:17px 18px; }
 .sh-faq details p { padding:0 18px 20px; }
 .sh-reading { padding:22px 19px; }
 .sh-reading-links { display:grid; gap:7px; }
 .studio-hub-page .floating-actions { left:10px; right:10px; bottom:10px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
 .studio-hub-page .floating-actions a { width:100%; min-width:0; min-height:48px; height:auto; padding:12px 5px; font-size:14px; border-radius:14px; }
 .studio-hub-page .site-footer { padding-bottom:24px; }
}
