:root{--teal:#103d43;--paper:#f5f1e9;--ink:#242728;--orange:#eeaa78;--white:#fffefa;--muted:#5a6262;--line:#cbd1cd;--header-offset:104px;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-synthesis:none}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset)}
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.75}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%;object-fit:cover}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.2;overflow-wrap:anywhere}
p{overflow-wrap:anywhere}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:4px solid #aa472c;outline-offset:5px}
a:active,button:active{filter:brightness(.91)}
[hidden]{display:none!important}
.wrap{width:min(1400px,calc(100% - 112px));margin-inline:auto}
.skip{position:fixed;top:8px;left:8px;padding:12px 18px;background:var(--white);color:var(--teal);z-index:100;transform:translateY(-150%)}
.skip:focus{transform:none}

section[id]{scroll-margin-top:var(--header-offset)}

.paired{display:grid;grid-template-columns:1.6fr 1fr;gap:0;background:var(--white);border-bottom:1px solid var(--line)}
.paired .main-pane{padding:62px 56px 64px 0;min-width:0}
.paired .service-pane{padding:62px 0 64px 56px;border-left:1px solid var(--line);min-width:0}
.section-kicker{font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-bottom:18px;display:flex;gap:14px;align-items:center}
.section-kicker:before{content:"";width:25px;height:2px;background:var(--orange)}
h2{font-size:clamp(1.75rem,3vw,2.625rem);font-weight:750;letter-spacing:-.035em;color:var(--teal)}
.section-intro{font-size:1rem;color:var(--muted);max-width:620px;margin-top:18px}
.service-pane h2{font-size:2rem}
.service-copy{font-size:1rem;margin-top:25px;color:var(--muted)}
.service-copy p+p{margin-top:18px}
.service-points{margin:30px 0;padding:0;list-style:none}
.service-points li{display:flex;gap:20px;padding:14px 0;border-top:1px solid var(--line)}
.service-points strong{flex:0 0 4em;color:var(--teal);font-size:.875rem}
.service-points span{font-size:.875rem;color:var(--muted)}
.section{padding:80px 0}
.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:start;margin-bottom:42px}
.section-heading .section-intro{max-width:510px;margin-top:0;padding-top:33px}
.work-image{position:relative;display:block;overflow:hidden;background:#dbe0dc;min-width:44px;min-height:44px;border-radius:3px;box-shadow:0 0 0 1px #103d431c;transition:box-shadow .2s,filter .2s}
.work-image img{width:100%;height:100%;transition:filter .2s}
.work-image:hover{box-shadow:0 0 0 3px var(--teal),0 8px 20px #103d4320}
.work-image:hover img{filter:brightness(1.04)}
.work-image:focus-visible{outline:4px solid #aa472c;outline-offset:5px}
.work-image:active{box-shadow:0 0 0 3px #a4462b;filter:brightness(.9)}
.episode-count{position:absolute;left:10px;bottom:10px;background:#103d43ed;color:#fff;padding:4px 9px;font-size:.75rem;line-height:1.4;border-radius:2px}
.work-label h3{font-size:1.1875rem;margin-top:15px;font-weight:750;color:var(--teal);letter-spacing:-.02em}
.tags{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:10px;font-size:.6875rem;color:var(--muted)}
.tags span{background:#e8ebe5;border:1px solid #d9ded6;padding:3px 7px;line-height:1.5;border-radius:2px}
.summary{font-size:.875rem;line-height:1.85;color:var(--muted)}
.state{font-size:.6875rem;color:var(--teal);margin-top:12px}
.release-focus .work-image{aspect-ratio:16/9;margin-top:32px}
.release-focus .summary{margin-top:15px}
.release-focus time{font-size:.75rem;color:var(--muted);display:block;margin-top:14px}
.release-list{margin-top:28px}
.release-list article{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:112px 1fr;gap:22px}
.release-list .work-image{aspect-ratio:4/3;align-self:start}
.release-list .work-label h3{margin-top:0;font-size:1rem}
.release-list .summary{margin-top:10px}
.release-list time{font-size:.6875rem;color:var(--muted);display:block;margin-top:10px}

.workplace{background:var(--paper)}
.workplace-list{display:grid;grid-template-columns:1fr 1fr;gap:0 58px}
.workplace-list article{padding:30px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(120px,.65fr) 1fr;gap:26px;min-width:0}
.workplace-list .work-image{aspect-ratio:3/4}
.workplace-list .work-label h3{font-size:1.0625rem}
.workplace-list .summary{padding-top:2px}
.youth{background:var(--white);border-block:1px solid var(--line)}
.youth-list article{display:grid;grid-template-columns:.95fr 1.6fr;gap:58px;padding:36px 0;border-top:1px solid var(--line)}
.youth-list .visual-block{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start;min-width:0}
.youth-list .work-image{aspect-ratio:4/3}
.youth-list .work-label h3{margin-top:0;font-size:1.25rem}
.youth-list .summary{max-width:760px;align-self:center;font-size:1rem}
.youth-list .tags{margin-top:12px}
.comedy{background:var(--teal);color:var(--white)}
.comedy h2,.comedy .work-label h3{color:var(--white)}
.comedy .section-intro,.comedy .summary,.comedy .section-kicker{color:#cbdbdc}
.comedy .tags{color:#e1e7e4}
.comedy .tags span{background:#254f54;border-color:#547279}
.comedy .state{color:#d2e0e0}
.comedy-list{display:grid;grid-template-columns:1fr 1fr;gap:34px 56px}
.comedy-list article{min-width:0;border-top:1px solid #628087;padding-top:28px;display:grid;grid-template-columns:.85fr 1fr;gap:24px}
.comedy-list .work-image{aspect-ratio:1/1}
.comedy-list .work-image:hover{box-shadow:0 0 0 3px var(--orange)}
.comedy-list .work-image:focus-visible{outline-color:var(--orange)}
.comedy-list .work-label h3{font-size:1rem}
.comedy-list .summary{padding-top:3px}
.comedy-list article:nth-child(-n+2){display:block;margin-bottom:12px}
.comedy-list article:nth-child(-n+2) .work-image{aspect-ratio:16/9}
.comedy-list article:nth-child(-n+2) .work-label h3{font-size:1.375rem}
.comedy-list article:nth-child(-n+2) .summary{margin-top:18px}
.completed-pair{background:var(--white);border-bottom:1px solid var(--line)}
.completed-pair .paired{background:transparent}
.complete-list{margin-top:30px}
.complete-list article{display:grid;grid-template-columns:88px 1fr;gap:22px;padding:24px 0;border-top:1px solid var(--line)}
.complete-list .work-image{aspect-ratio:2/3}
.complete-list .work-label h3{margin-top:0;font-size:1.125rem}
.complete-list .summary{margin-top:12px}
.app-feature{padding:21px 0;border-top:1px solid var(--line)}
.app-feature h3{font-size:1rem;color:var(--teal)}
.app-feature p{font-size:.875rem;color:var(--muted);margin-top:8px}
.app-features{margin-top:30px}
.classification{padding:58px 0;border-bottom:1px solid var(--line)}
.classification-inner{display:grid;grid-template-columns:.85fr 1.6fr;gap:50px}
.classification h2{font-size:1.75rem}
.class-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.class-list a{display:block;padding:14px 0;border-bottom:1px solid var(--line);min-height:44px;font-weight:700;color:var(--teal)}
.class-list a:hover{color:#934326;border-color:#934326}
.class-list p{font-size:.875rem;color:var(--muted);margin-top:12px}
.faq{background:var(--paper)}
.faq-inner{display:grid;grid-template-columns:.85fr 1.6fr;gap:50px}
.faq-list article{display:grid;grid-template-columns:1fr 1.6fr;gap:35px;padding:23px 0;border-top:1px solid var(--line)}
.faq-list h3{font-size:1rem;color:var(--teal)}
.faq-list p{font-size:.875rem;color:var(--muted)}
.about{background:#e8e9df;border-top:1px solid var(--line)}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.about-copy{font-size:1rem;color:var(--muted)}
.about-copy p+p{margin-top:18px}
.source-copy{font-size:.8125rem;margin-top:28px;padding-top:22px;border-top:1px solid #b9c2bc}
.site-footer{background:var(--teal);color:#c5d6d6;padding:28px 0}
.footer-inner{display:flex;justify-content:space-between;gap:25px;font-size:.75rem}
.footer-brand{font-weight:750;color:var(--white);font-size:1.25rem;letter-spacing:-.05em}

@media(max-width:1250px){.wrap{width:calc(100% - 64px)}
.paired .main-pane{padding-right:36px}
.paired .service-pane{padding-left:36px}
.workplace-list{gap:0 35px}
.workplace-list article{gap:20px;grid-template-columns:.7fr 1fr}
.youth-list article{gap:30px;grid-template-columns:1.15fr 1.4fr}
.comedy-list{gap:30px}
.comedy-list article{gap:20px}
.about-inner{gap:45px}
}

@media(max-width:1000px){:root{--header-offset:96px}
.wrap{width:calc(100% - 48px)}
.paired .main-pane,.paired .service-pane{padding-top:46px;padding-bottom:48px}
.paired{grid-template-columns:1.3fr 1fr}
.service-pane h2{font-size:1.625rem}
.section{padding-block:60px}
.section-heading{gap:35px}
.section-heading .section-intro{max-width:400px;padding-top:0;font-size:.875rem}
.workplace-list article{display:block}
.workplace-list .visual-block{display:grid;grid-template-columns:112px 1fr;gap:20px;align-items:center}
.workplace-list .work-label h3{margin-top:0}
.workplace-list .summary{margin-top:20px}
.youth-list article{display:block}
.youth-list .visual-block{grid-template-columns:220px 1fr}
.youth-list .summary{margin-top:20px}
.comedy-list article{display:block}
.comedy-list .visual-block{display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:center}
.comedy-list .work-label h3{margin-top:0}
.comedy-list article:nth-child(-n+2) .visual-block{display:block}
.comedy-list article:nth-child(-n+2) .work-label h3{margin-top:18px}
.comedy-list .summary{margin-top:18px}
.classification-inner,.faq-inner{grid-template-columns:1fr;gap:30px}
.about-inner{grid-template-columns:1fr 1.3fr;gap:30px}
}

@media(max-width:680px){:root{--header-offset:88px}
.wrap{width:calc(100% - 40px)}
.paired{display:block}
.paired .main-pane{padding:40px 0;border-bottom:1px solid var(--line)}
.paired .service-pane{padding:40px 0;border:0}
.service-pane h2{font-size:1.75rem}
.service-copy{font-size:.875rem;margin-top:18px}
.section{padding-block:45px}
.section-heading{display:block;margin-bottom:30px}
.section-heading .section-intro{padding-top:0;margin-top:16px;max-width:none}
.section-kicker{font-size:.6875rem;margin-bottom:15px}
h2{font-size:1.875rem}
.workplace-list{display:block}
.workplace-list article{padding:25px 0}
.workplace-list .visual-block{grid-template-columns:118px 1fr;gap:20px}
.workplace-list .work-label h3{font-size:1.125rem}
.tags{font-size:.625rem;gap:5px}
.summary{font-size:.875rem}
.episode-count{font-size:.625rem;left:7px;bottom:7px;padding:4px 6px}
.youth-list article{padding:26px 0}
.youth-list .visual-block{grid-template-columns:1.15fr 1fr;gap:20px}
.youth-list .work-label h3{font-size:1.125rem}
.youth-list .summary{font-size:.875rem;margin-top:18px}
.comedy-list{display:block}
.comedy-list article{padding-top:24px;margin-top:24px}
.comedy-list .visual-block{grid-template-columns:100px 1fr}
.comedy-list article:nth-child(-n+2){margin-bottom:32px}
.comedy-list article:nth-child(-n+2) .work-label h3{font-size:1.25rem}
.release-list article{grid-template-columns:100px 1fr;gap:18px}
.release-focus .work-image{margin-top:24px}
.complete-list article{grid-template-columns:88px 1fr;gap:18px}
.classification{padding:40px 0}
.class-list{grid-template-columns:1fr;gap:18px}
.class-list a{padding:10px 0}
.class-list p{margin-top:8px}
.faq-list article{display:block;padding:20px 0}
.faq-list p{margin-top:12px}
.about-inner{display:block}
.about-copy{font-size:.875rem;margin-top:24px}
.source-copy{font-size:.75rem}
.footer-inner{display:block}
.footer-inner p+p{margin-top:14px}
.app-features{margin-top:25px}
}

html{scroll-padding-top:0}
.work-image img{object-position:center 15%}
.youth-list .visual-block{display:block}
.comedy-list .visual-block{display:block}
.youth-list article{grid-template-columns:.8fr 1.65fr}
.complete-list article{grid-template-columns:128px 1fr}
.release-list article{grid-template-columns:145px 1fr}
.complete-list .work-label h3,.release-list .work-label h3{margin-top:12px}

.rank-directory{padding-top:36px;margin-top:36px;border-top:1px solid var(--line)}
.rank-caption{font-size:.75rem;color:var(--muted);margin-bottom:25px}
.ranking-band{display:grid;grid-template-columns:180px 1fr;gap:38px;padding:25px 0;border-top:1px solid var(--line)}
.ranking-band h3{color:var(--teal);font-size:1.25rem;padding-top:10px}
.ranking-band ol{padding:0;margin:0;list-style:none;counter-reset:rank;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.ranking-band li{counter-increment:rank;font-size:.75rem;min-width:0}
.ranking-band li:before{content:counter(rank,decimal-leading-zero);display:block;font-size:.625rem;color:#934326;margin-bottom:8px;font-variant-numeric:tabular-nums}

@media(max-width:1000px){.workplace-list article{display:grid;grid-template-columns:120px 1fr;gap:22px}
.workplace-list .visual-block{display:block}
.workplace-list .summary{margin-top:0}
.workplace-list .work-label h3{margin-top:14px}
.youth-list article{display:grid;grid-template-columns:220px 1fr;gap:30px}
.youth-list .visual-block{display:block}
.youth-list .work-label h3{margin-top:15px}
.youth-list .summary{margin-top:0}
.comedy-list article{display:grid;grid-template-columns:115px 1fr;gap:24px}
.comedy-list .visual-block{display:block}
.comedy-list .work-label h3{margin-top:14px}
.comedy-list .summary{margin-top:0}
.comedy-list article:nth-child(-n+2){display:block}
.comedy-list article:nth-child(-n+2) .summary{margin-top:18px}
.ranking-band{grid-template-columns:130px 1fr;gap:25px}
.ranking-band ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
}

@media(max-width:680px){.workplace-list article{grid-template-columns:118px 1fr;gap:20px}
.workplace-list .work-label h3{font-size:1rem}
.youth-list article{display:block}
.youth-list .work-image{aspect-ratio:4/3}
.youth-list .work-label h3{font-size:1.25rem}
.youth-list .summary{margin-top:20px}
.comedy-list article{grid-template-columns:110px 1fr;gap:20px}
.comedy-list article:nth-child(-n+2){display:block}
.complete-list article{grid-template-columns:118px 1fr;gap:20px}
.complete-list .work-label h3{font-size:1rem}
.release-list article{grid-template-columns:130px 1fr;gap:20px}
.release-list .work-label h3{margin-top:14px}
.release-list .summary{margin-top:0}
.ranking-band{display:block}
.ranking-band h3{margin-bottom:24px}
.ranking-band ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ranking-band li{font-size:.875rem}
}

@media(max-width:380px){.workplace-list article,.comedy-list article,.complete-list article,.release-list article{grid-template-columns:105px 1fr;gap:17px}
.comedy-list article:nth-child(-n+2){display:block}
.workplace-list .work-label h3,.comedy-list .work-label h3,.complete-list .work-label h3,.release-list .work-label h3{font-size:.9375rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important}
}

.site-header{position:sticky;top:0;z-index:30;background:var(--white);border-bottom:1px solid var(--line)}

.header-inner{min-height:80px;display:flex;align-items:center;gap:32px;padding-block:14px}

.brand{font-size:1.75rem;letter-spacing:-.07em;font-weight:850;color:var(--teal);white-space:nowrap;flex-shrink:0}

.navigation{margin-left:auto;min-width:0}

.nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px}

.nav-links a{display:flex;align-items:center;min-height:44px;padding:8px 9px;white-space:nowrap;font-size:.875rem;border-radius:5px}

.nav-links a:hover,.nav-links a[aria-current="location"]{color:var(--teal);background:#efe0d0}

.menu-toggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--teal);border-radius:4px;min-height:44px;padding:8px 15px;color:var(--teal)}

.hero{background:var(--teal);color:var(--white);padding:68px 0 72px}

.hero h1{letter-spacing:-.04em}

.hero h1 .brand-title{display:block;font-size:clamp(4rem,13.6vw,12.5rem);font-weight:850;line-height:1.05;white-space:nowrap;letter-spacing:-.075em}

.hero h1 .identity{display:block;font-size:clamp(1rem,2.1vw,1.75rem);font-weight:500;margin-top:28px;letter-spacing:.05em}

@media(max-width:1250px){.header-inner{gap:24px}
.nav-links{gap:2px}
.nav-links a{padding-inline:7px;font-size:.8125rem}
}

@media(max-width:1100px){:root{--header-offset:96px}
.header-inner{min-height:76px;flex-wrap:wrap;gap:0;padding-block:0}
.brand{font-size:1.5rem;min-height:76px;display:flex;align-items:center}
.navigation{width:100%;margin:0;padding:12px 0 20px}
.nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%}
.nav-links a{font-size:.9375rem;white-space:normal;min-height:48px;padding:9px 12px}
.js .menu-toggle{display:block}
.js .navigation{max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}
html:not(.js) .site-header{position:relative}
.hero{padding:50px 0 54px}
}

@media(max-width:680px){:root{--header-offset:88px}
.header-inner{min-height:68px}
.brand{min-height:68px}
.nav-links{grid-template-columns:1fr;gap:4px}
.nav-links a{font-size:.875rem;min-height:48px}
.hero{padding:38px 0 42px}
.hero h1 .brand-title{font-size:clamp(2rem,17vw,6rem);letter-spacing:-.065em}
.hero h1 .identity{font-size:1rem;margin-top:22px;line-height:1.6;letter-spacing:0}
}
