/* Studio network — circuit grid (02 / SERVICES). Geometry lives in studio-network.js (G). */
.studio-net{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,8fr);gap:5%;align-items:center;background:#12110e;padding-top:110px;padding-bottom:110px}
#archive.studio-net .sn-copy .eyebrow,.section.information #studio .eyebrow{font-family:"Jost",var(--lw-grotesk),sans-serif!important;font-weight:400;font-size:11px;letter-spacing:.32em!important;color:#b9b1a2}
#archive.studio-net .sn-copy h2,#projects.time-section .section-head h1,.section.information #studio h2{font-family:"Jost",var(--lw-grotesk),sans-serif!important;font-weight:300!important;font-size:clamp(34px,3.7vw,58px)!important;line-height:1.14!important;letter-spacing:.035em!important;color:#ebe4d6!important}
#archive.studio-net .sn-copy h2{text-transform:uppercase;margin:20px 0 28px}
#projects.time-section .section-head h1,.section.information #studio h2{text-transform:none}
html:is([data-lang=zh],[data-lang=ja]) #archive.studio-net .sn-copy h2,html:is([data-lang=zh],[data-lang=ja]) #projects.time-section .section-head h1,html:is([data-lang=zh],[data-lang=ja]) .section.information #studio h2{font-family:"Noto Sans SC","Noto Sans JP",sans-serif!important;font-size:clamp(28px,2.9vw,44px)!important;line-height:1.5!important;letter-spacing:.06em!important;text-transform:none}
html[data-lang=ja] #archive.studio-net .sn-copy h2,html[data-lang=ja] #projects.time-section .section-head h1,html[data-lang=ja] .section.information #studio h2{font-family:"Noto Sans JP","Noto Sans SC",sans-serif!important}
.sn-copy .copy{max-width:440px;line-height:2}
#archive .sn-services{list-style:none;max-width:430px;margin:36px 0 0;padding:0;border-top:1px solid #ffffff1f}
#archive .sn-services li{border-bottom:1px solid #ffffff1f}
#archive .sn-services button{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:baseline;gap:0 10px;width:100%;padding:20px 0 19px;background:none;border:0;text-align:left;cursor:pointer;color:inherit}
#archive .sn-services span,.section.information #studio .co-row dt{font-family:"Jost",sans-serif!important;font-size:10px!important;font-weight:400;letter-spacing:.22em!important;color:#8a8273!important;transition:color .3s}
#archive .sn-services strong,.section.information #studio .co-social span{font-family:"Jost",sans-serif!important;font-size:15px!important;font-weight:300!important;letter-spacing:.32em!important;text-transform:uppercase;color:#cfc7b8!important;transition:color .3s}
#archive .sn-services p{grid-column:2;margin:0;max-height:0;overflow:hidden;opacity:0;font-family:"Jost","Noto Sans SC","Noto Sans JP",sans-serif!important;font-size:12.5px!important;font-weight:300;line-height:1.85;letter-spacing:.02em!important;color:#9d9587!important;transition:max-height .45s,opacity .35s,margin .35s}
html:is([data-lang=zh],[data-lang=ja]) #archive .sn-services p{font-family:"Noto Sans SC","Noto Sans JP",sans-serif!important;font-size:13px!important;line-height:1.9;letter-spacing:.03em!important}
.section.information #studio .co-social a:hover span,#archive .sn-services li.is-hover strong,#archive .sn-services li.is-open strong{color:#f4ebdb!important}
#archive .sn-services li.is-hover span,#archive .sn-services li.is-open span{color:#d9cdb5!important}
#archive .sn-services li.is-open p{max-height:160px;opacity:1;margin-top:10px}
#archive .sn-services button:focus-visible{outline:1px solid #ebe4d6;outline-offset:4px}
.sn-stage{position:relative;min-width:0}
.sn-svg{display:block;width:100%;height:auto;overflow:visible;--sw:1.15}
.sn-layer{position:absolute;inset:0;pointer-events:none}
.sn-arcs{pointer-events:none}
.sn-arc{fill:none;stroke:#8f897f;stroke-width:var(--sw);stroke-linecap:round;opacity:.2;filter:drop-shadow(0 0 1.5px #f3e4c7)}
.sn-main{fill:none;stroke:#e6ddcd;stroke-width:var(--sw);stroke-linecap:round;opacity:.62;transition:opacity .4s,stroke .4s}
.studio-net.has-focus .sn-main{opacity:.3}
.studio-net.has-focus .sn-main.is-on{opacity:.95;stroke:#f4ebdb}
.sn-core{fill:#12110e;stroke:#ece5d8;stroke-width:calc(var(--sw)*1.3)}
.sn-node{fill:#12110e;stroke:#ece5d8;stroke-width:calc(var(--sw)*1.25);transition:fill .3s,stroke .4s,filter .4s}
.sn-node.is-on{fill:#ece5d8}
.sn-node.is-ping{stroke:#fffaf0;filter:drop-shadow(0 0 3px #f5e8cf)}
.sn-xline{fill:none;stroke:#e6ddcd;stroke-width:var(--sw);stroke-linecap:round;opacity:.9;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s cubic-bezier(.4,0,.2,1)}
.sn-x.is-open .sn-xline{stroke-dashoffset:0;transition-duration:.75s}
.sn-xend{fill:#12110e;stroke:#ece5d8;stroke-width:var(--sw);opacity:0;transition:opacity .2s}
.sn-x.is-open .sn-xend{opacity:1;transition:opacity .3s .6s}
.sn-trail{fill:none;stroke:#f3e6cc;stroke-linecap:round;pointer-events:none}
.sn-pulse{fill:#fff7e8;filter:drop-shadow(0 0 2px #f3e4c7);pointer-events:none}
.sn-core-lab,.sn-lab,.sn-xlab{position:absolute;left:0;top:0;font-family:"Jost",var(--lw-grotesk),sans-serif;text-transform:uppercase;pointer-events:none}
.sn-core-lab{transform:translate(-50%,-50%);padding-left:.3em;font-size:10px;font-weight:400;letter-spacing:.3em;color:#ece5d8;white-space:nowrap}
.sn-lab{font-size:11px;font-weight:400;line-height:1.3;letter-spacing:.26em;color:#d6cebf;white-space:nowrap;transition:color .3s,left .35s,top .35s}
.sn-lab.is-on{color:#f6ecdb}
.sn-xlab{width:max-content;max-width:200px;font-size:11px;font-weight:300;line-height:1.6;letter-spacing:.17em;color:#ebe3d4;opacity:0;transition:opacity .2s;text-wrap:balance}
.sn-xlab.is-open{opacity:1;transition:opacity .35s .55s}
html:is([data-lang=zh],[data-lang=ja]) .sn-xlab{font-family:"Noto Sans SC","Noto Sans JP",sans-serif;font-size:12.5px;letter-spacing:.06em;text-transform:none}
html[data-lang=ja] .sn-xlab{font-family:"Noto Sans JP","Noto Sans SC",sans-serif}
.sn-hit,.sn-st{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.sn-hit:focus-visible,.sn-st:focus-visible{outline:1px solid #ece5d8;outline-offset:-12px}
.sn-st{opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
.sn-st.is-open{opacity:1;visibility:visible;transition:opacity .3s .6s}
.sn-st::before{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#ece5d8}
.sn-st::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;border:1px solid #ece5d8;opacity:0;transition:opacity .25s;box-sizing:border-box}
.sn-st:hover::after,.sn-st:focus-visible::after{opacity:1}
.studio-net.no-anim .sn-main,.studio-net.no-anim .sn-xline,.studio-net.no-anim .sn-xend,.studio-net.no-anim .sn-xlab,.studio-net.no-anim .sn-st,.studio-net.no-anim .sn-lab{transition:none!important}
@media(max-width:800px){.studio-net{grid-template-columns:1fr;gap:40px;padding-top:84px;padding-bottom:84px}.sn-lab{font-size:9.5px;letter-spacing:.2em}.sn-core-lab{font-size:8.5px;letter-spacing:.24em}.sn-xlab{max-width:128px;font-size:9.5px;letter-spacing:.12em}html:is([data-lang=zh],[data-lang=ja]) .sn-xlab{font-size:11px;letter-spacing:.04em}#archive .sn-services{max-width:none}}

.company .co-list{margin:22px 0 0;border-top:1px solid #ffffff18}
.co-row{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff12}
.co-row dt{font-size:9px;letter-spacing:.2em;color:#b5a489;padding-top:4px}
.co-row dd{margin:0;font-size:13px;line-height:1.7;color:#cfc8b9}
.co-row dd a{color:#e9e4d9;border-bottom:1px solid #ffffff30}
.co-row dd a:hover{color:#d7b987}
.co-sub{margin:26px 0 0}
.co-social{list-style:none;margin:8px 0 24px;padding:0;border-top:1px solid #ffffff18}
.co-social li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid #ffffff12}
.co-social span{font-family:Cormorant,Georgia,serif;font-size:17px;letter-spacing:.2em;color:#cfc8b9}
.co-social em{font-style:normal;font-size:9px;letter-spacing:.16em;color:#77705f}
@media(max-width:520px){.co-row{grid-template-columns:96px 1fr}}
.co-social li{padding:0}
.co-social a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:11px 0;color:inherit}
.co-social a:hover span,.co-social a:hover em{color:#d7b987}
.co-social em{color:#9e978b;transition:color .3s}
.co-social span{transition:color .3s}
.information{grid-template-columns:1fr!important}
.co-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:6%;margin-top:22px}
.co-grid .co-list{margin-top:0}
.co-grid .co-sub{margin-top:0}
@media(max-width:800px){.co-grid{grid-template-columns:1fr;gap:34px}}

/* v6 signal afterglow: thin warm-white core, soft halo only near the head. */
.sn-trail.sn-core{stroke:#fff8ea}
.sn-trail.sn-glow{stroke:#f6e7c8;filter:blur(2px)}
.sn-xend.is-ping{stroke:#fffaf0;filter:drop-shadow(0 0 3px #f5e8cf);transition:none}
