/* S2 Studio — Apple-like white, centred big type, pinned hero zoom, bento categories */
.s2{--br:999px;--cr:22px;--fr:12px;--lr:10px}
.s2 .hd{background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(1.8) blur(20px);-webkit-backdrop-filter:saturate(1.8) blur(20px)}
.s2 .hd-in{min-height:52px}
.s2 .hd-nav a{font-size:13px}
.s2 h1,.s2 h2{letter-spacing:-.03em;font-weight:700}
.s2-hero{text-align:center;padding:clamp(56px,10vw,130px) 0 clamp(32px,5vw,56px)}
.s2-k{font-size:17px;font-weight:600;color:var(--acct);margin:0 0 14px}
.s2-hero h1{font-size:clamp(46px,8vw,104px);line-height:1.02;max-width:13ch;margin:0 auto}
.s2-sub{font-size:clamp(18px,2vw,22px);color:var(--mute);max-width:34em;margin:20px auto 28px}
.s2-act{display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap}
.s2-pin{height:100vh;height:100svh;overflow:hidden;display:flex}
.s2-media{width:100%;height:100%;overflow:hidden;will-change:transform}
.s2-media img{width:100%;height:100%;object-fit:cover}
@media (max-width:899px){.s2-pin{height:auto;padding:0 20px}.s2-media{border-radius:22px;aspect-ratio:4/5}}
.s2-bento{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.s2-bento li{background:var(--surf);border-radius:26px;overflow:hidden}
.s2-bento li.big{grid-column:span 2;grid-row:span 2}
.s2-bento a{display:flex;flex-direction:column;height:100%;text-decoration:none;padding:24px;gap:6px}
.s2-bento .ct-i{border-radius:16px;aspect-ratio:16/10;margin-bottom:12px}
.s2-bento li.big .ct-i{aspect-ratio:4/3;flex:1}
.s2-bento h3{font-size:24px}
.s2-bento .tl{color:var(--acct);min-height:32px}
@media (max-width:800px){.s2-bento{grid-template-columns:minmax(0,1fr)}.s2-bento li.big{grid-column:auto;grid-row:auto}}
.s2-alt{background:var(--surf)}
.s2-alt .pc-im{background:var(--bg)}
.s2-alt .wl{background:var(--surf)}
.s2 .pc-im{border-radius:20px}
.s2 .qa{border:0;background:var(--surf);}
.s2-alt .qa{background:var(--bg)}
.s2-lu{padding:clamp(90px,14vw,190px) 0}
.s2-lu p{font:700 clamp(28px,4.2vw,56px)/1.15 var(--hf);letter-spacing:-.03em;max-width:22ch;margin:0 auto;text-align:center}
.s2-prom li{background:transparent;flex-direction:column;text-align:left}
.s2-nl{text-align:center;display:grid;justify-items:center;gap:14px}
.s2-nl h2{font-size:clamp(32px,5vw,60px);max-width:16ch}
.s2-nl>p{color:var(--mute);max-width:34em;margin:0}
.s2-nl .nl{text-align:left;width:100%;margin-top:12px}
