/* Vishnu Inc. — corporate identity, aligned with the private gallery. */
:root{--vn-ink:#191b19;--vn-paper:#eeeae0;--vn-line:#ccc7ba;--vn-yellow:#bca174;--vc-gold:#bca174;--vc-night:#171917;--vc-serif:'Noto Serif JP',serif;--vc-display:'Cormorant Garamond',Georgia,serif}
body.vn-refined{background:var(--vn-paper);font-size:15px;color:var(--vn-ink)}.vn-refined ::selection{background:#c3a265;color:#171917}.vn-refined :focus-visible{outline:2px solid #8d723e;outline-offset:6px}.vn-refined .vn-small-label{font:11px/1.8 'Jost',sans-serif;letter-spacing:.2em;color:#78613a}.vn-refined .vn-shell{width:min(1240px,calc(100% - 112px))}.vn-refined .vn-header{padding-inline:max(40px,calc((100vw - 1320px)/2))}.vn-refined .vn-footer{padding-top:64px;padding-bottom:28px}.vn-refined .vn-footer .vn-logo{font-size:58px}.vn-refined .vn-footer-top{margin-bottom:32px}
.vc-hero{background:var(--vc-night);color:#ede5d3;overflow:hidden}.vc-hero-top{display:flex;justify-content:space-between;padding:30px 0 23px;border-bottom:1px solid #393c34;font:10px/1.5 'Jost',sans-serif;letter-spacing:.23em;color:#b8b7a9}.vc-hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:35px;align-items:center;min-height:584px;padding:34px 0 46px}.vc-kicker{font:10px/1.8 'Jost',sans-serif;letter-spacing:.25em;color:var(--vc-gold);margin-bottom:27px}.vn-page.vn-refined .vc-hero h1{font:400 clamp(36px,4.2vw,62px)/1.65 var(--vc-serif);letter-spacing:.04em;margin:0 0 27px;white-space:nowrap}.vc-hero h1 span{color:#c9b288}.vc-lead{font-size:14px;line-height:2.15;color:#c9c7bb}.vc-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-height:56px;min-width:215px;border-bottom:1px solid #807358;margin-top:28px;font-size:13px}.vc-link>span{font-size:23px;color:#8b7449}.vc-light{border-color:#857653}.vc-light>span{color:#c9b288}.vc-link:hover{color:#9b7a3f}.vc-light:hover{color:#d6bc8a}.vc-brand-art{position:relative;height:478px;margin-left:16px}.vc-orbit{position:absolute;width:354px;height:354px;border:1px solid #6a6049;border-radius:50%;top:51px;left:65px;display:grid;place-items:center}.vc-orbit:before{content:'';position:absolute;inset:30px;border:1px solid #373b32;border-radius:50%}.vc-orbit:after{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:var(--vc-gold);left:23px;top:70px;box-shadow:0 0 0 8px #bca1740d}.vc-orbit>span{font:300px/.9 var(--vc-display);color:#2c3028;transform:translateY(-12px)}.vc-art-caption{position:absolute;bottom:0;right:0;font:9px 'Jost',sans-serif;letter-spacing:.28em;color:#acae9d}.vc-plaque{position:absolute;padding:24px 28px;border:1px solid #70664f;background:#20241e;color:#ede5d3;width:290px;box-shadow:10px 17px 30px #00000025;transition:background .2s,border-color .2s}.vc-plaque:hover{border-color:#c3a265;background:#2c3028}.vc-plaque small{display:block;font:9px 'Jost',sans-serif;letter-spacing:.16em;color:#bdbdad}.vc-plaque strong{display:block;font:500 43px/1.4 var(--vc-display);letter-spacing:.02em;margin:12px 0}.vc-plaque strong em{font:400 39px 'Jost',sans-serif;color:#ccb389;font-style:normal;margin-left:10px}.vc-plaque>span{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#ccc9bc}.vc-plaque i{font:20px 'Jost',sans-serif;color:#c9b288}.vc-plaque-ai{top:8px;left:6px;transform:rotate(-5deg);z-index:3}.vc-plaque-school{top:166px;right:-2px;transform:rotate(4deg);z-index:2;background:#eeeae0;color:#1b1d18;border-color:#ded8c9}.vc-plaque-school:hover{background:#f8f3e8;border-color:#c3a265}.vc-plaque-school small,.vc-plaque-school>span{color:#605d50}.vc-plaque-school i{color:#78613a}.vc-plaque-school strong{font:500 31px/1.6 var(--vc-serif);letter-spacing:.08em}.vc-plaque-film{bottom:28px;left:3px;transform:rotate(-3deg);background:#292b24}.vc-plaque-film strong{font:500 34px/1.5 var(--vc-serif);letter-spacing:.19em}.vc-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #393c34;padding:20px 0 26px;color:#b8b7a9;font:9px/1.8 'Jost',sans-serif;letter-spacing:.17em}.vc-hero-bottom p{font:11px/1.9 'Noto Sans JP',sans-serif;letter-spacing:.03em}.vc-hero-bottom a{display:flex;align-items:center;gap:30px;min-height:44px}.vc-hero-bottom a:hover{color:#d4ba8e}
.vn-refined .vn-directory{padding-top:80px;padding-bottom:40px}.vn-refined .vn-directory-label{align-items:flex-end;padding-bottom:30px}.vn-refined .vn-directory-label h2{font:400 30px/1.7 var(--vc-serif);letter-spacing:.06em;margin-top:10px}.vn-refined .vn-directory-label>a{font-size:12px}.vn-refined .vn-service-grid{gap:22px;grid-template-columns:1.05fr 1fr}.vn-refined .vn-service{background:#f5f2e9;border-color:#c9c3b5;padding:30px 34px}.vn-refined .vn-service:hover{background:#faf7ef;border-color:#98835c}.vn-refined .vn-service-ai{background:#20231e;padding:36px 40px;border-color:#20231e}.vn-refined .vn-service-ai:hover{background:#2b3027}.vn-refined .vn-signal,.vn-refined .vn-card-action>span{color:#bca174}.vn-refined .vn-card-action{border-color:#666853}.vn-refined .vn-ai-mark>span{font:500 28px/1 var(--vc-display);letter-spacing:.06em}.vn-refined .vn-ai-mark>strong{font-weight:400;font-size:155px}.vn-refined .vn-school-mark strong{font-family:var(--vc-serif);font-weight:500;font-size:33px}.vn-refined .vn-film-mark strong{font-family:var(--vc-serif);font-weight:500;font-size:37px}.vn-refined .vn-card-bottom h3{font-size:14px;font-weight:500}.vn-refined .vn-card-bottom p{font-size:13px}.vn-refined .vn-card-top{letter-spacing:.16em}.vn-refined .vn-space-link{margin-top:26px;padding:25px 0 30px}.vn-refined .vn-space-link h3{font:500 32px/1.5 var(--vc-display);letter-spacing:.05em}.vn-refined .vn-space-description{font-size:13px}.vn-refined .vn-preparing{font-size:11px}.vn-refined .vn-home-bottom{padding-top:36px;padding-bottom:85px}.vn-refined .vn-home-bottom h2{font:400 26px/1.6 var(--vc-serif);letter-spacing:.04em}.vn-refined .vn-home-bottom>a{padding-bottom:27px}
.vc-gallery-door{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding:60px 0 52px;border-bottom:1px solid var(--vn-line)}.vc-gallery-door h2{font:400 39px/1.7 var(--vc-serif);letter-spacing:.05em;margin:20px 0}.vc-gallery-door p:not(.vn-small-label){font-size:14px;line-height:2.1;color:#5e6056}.vc-gallery-door>div>small{display:block;font-size:11px;color:#626456;margin-top:13px}.vc-door-art{height:350px;display:flex;align-items:flex-end;justify-content:center;background:#e3dfd3;overflow:hidden;border:1px solid #c9c2b2}.vc-door-inside{width:225px;height:310px;background:#20241e;border:1px solid #9e875d;border-radius:130px 130px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ede5d3;position:relative}.vc-door-inside:before{content:'';position:absolute;inset:10px;border:1px solid #6c6045;border-bottom:0;border-radius:120px 120px 0 0;pointer-events:none}.vc-door-inside small{font:8px 'Jost',sans-serif;letter-spacing:.18em;margin-top:22px}.vc-door-inside strong{font:500 53px/1.5 var(--vc-display);letter-spacing:.04em}.vc-door-inside strong>span{color:#bca174}.vc-door-arrow{margin-top:20px;border:1px solid #8c7b56;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-size:23px;color:#c8b181}.vc-door-art:hover .vc-door-arrow{background:#bca174;color:#171917}
.vn-refined .vn-breadcrumb{font-size:11px;color:#68665b}.vn-page.vn-refined h1:not(#homeTitle){font-family:var(--vc-serif);font-weight:400;font-size:clamp(34px,4vw,55px);line-height:1.75;letter-spacing:.04em}.vn-refined .vn-page-heading{padding-top:46px;padding-bottom:74px}.vn-refined .vn-page-heading>p:last-child{font-size:14px}.vn-refined .vn-service-row{gap:80px;padding:48px 0 60px}.vn-refined .vn-brand-panel{min-height:315px;background:#f7f3e9;border-color:#c9c3b5}.vn-refined .vn-brand-panel.dark{background:#20231e}.vn-refined .vn-brand-panel.space{background:#e1ddcf}.vn-refined .vn-brand-panel.space strong{font-family:var(--vc-display)}.vn-refined .vn-service-detail h2{font:400 29px/1.8 var(--vc-serif);letter-spacing:.04em}.vn-refined .vn-service-detail>p:not(.vn-small-label){font-size:14px}.vn-refined .vn-service-detail .vn-for{border-color:#bca174;font-size:12px!important}.vn-refined .vn-text-link{font-size:13px}.vn-refined .vn-inline-contact{padding:50px 0 75px}.vn-refined .vn-inline-contact>p{font-family:var(--vc-serif);font-size:20px;font-weight:400}.vn-refined .vn-button{background:#20231e;min-height:60px}.vn-refined .vn-button>span{color:#bca174}.vn-refined .vn-company-intro{padding-top:50px;padding-bottom:100px;gap:70px}.vn-refined .vn-company-copy{padding-top:52px}.vn-refined .vn-company-copy p{font-size:15px;line-height:2.2}.vn-refined .vn-company-data{padding:60px 0 90px;border-top:1px solid #aaa38e;grid-template-columns:1fr 1.8fr}.vn-refined .vn-company-data h2{font:400 27px/1.6 var(--vc-serif);letter-spacing:.05em}.vn-refined .vn-company-data h2 span{color:#78613a;letter-spacing:.2em}.vn-refined .vn-company-data dl{border-color:#aaa38e}.vn-refined .vn-company-data dl>div{font-size:14px;padding:25px 0;grid-template-columns:100px 1fr}.vn-refined .vn-contact-page{padding-top:48px;padding-bottom:100px;gap:70px}.vn-refined .vn-contact-page>div>p{font-size:14px;line-height:2.1}.vn-refined .vn-contact-options a{padding:34px}.vn-refined .vn-contact-options h2{font:400 23px/1.8 var(--vc-serif);letter-spacing:.03em}.vn-refined .vn-contact-primary{background:#20231e}.vn-refined .vn-contact-primary .vn-small-label,.vn-refined .vn-contact-primary h2>span{color:#ccb58a}.vn-refined .vn-contact-primary p{font-size:13px}.vn-refined .vn-contact-email{border-color:#aaa18c}.vn-refined .vn-contact-email:hover{background:#f6f2e7}.vn-refined .vn-contact-note{font-size:12px!important}.vn-refined .vn-contact-options a small{font-size:11px}
@media(max-width:1100px){.vn-refined .vn-shell{width:calc(100% - 64px)}.vc-hero-grid{gap:24px;min-height:535px}.vn-page.vn-refined .vc-hero h1{font-size:44px}.vc-brand-art{margin-left:0;transform:scale(.88);transform-origin:center right}.vc-plaque{width:265px}.vc-orbit{left:10px;width:300px;height:300px;top:77px}.vc-plaque-ai{left:0}.vc-plaque-film{left:0}.vn-refined .vn-service-row{gap:40px}.vn-refined .vn-school-mark strong{font-size:29px}.vn-refined .vn-film-mark strong{font-size:32px}.vn-refined .vn-company-intro,.vn-refined .vn-contact-page{gap:38px}.vn-refined .vn-service{padding:27px}.vc-gallery-door{gap:35px}}
@media(max-width:900px){.vn-refined .vn-header{padding-inline:24px}.vc-hero-grid{grid-template-columns:1fr 1fr}.vn-page.vn-refined .vc-hero h1{font-size:36px}.vc-brand-art{transform:scale(.76);width:370px;margin-left:-50px}.vc-lead{font-size:13px}.vc-hero-bottom p{display:none}.vn-refined .vn-service{padding:25px}.vn-refined .vn-school-mark strong{font-size:25px}.vn-refined .vn-film-mark strong{font-size:29px}.vn-refined .vn-card-bottom h3{font-size:13px}.vn-refined .vn-company-intro{grid-template-columns:1fr}.vn-refined .vn-company-copy{padding-top:0}.vn-refined .vn-contact-page{grid-template-columns:1fr}.vn-refined .vn-contact-options{max-width:640px;width:100%}}
@media(max-width:700px){.vn-refined .vn-shell{width:calc(100% - 48px)}.vc-hero-top{font-size:8px;padding:22px 0 18px;letter-spacing:.14em}.vc-hero-grid{grid-template-columns:1fr;gap:0;padding:37px 0 24px;min-height:0}.vc-kicker{font-size:9px;margin-bottom:19px}.vn-page.vn-refined .vc-hero h1{font-size:clamp(29px,8.7vw,49px);line-height:1.65;margin-bottom:19px}.vc-lead{font-size:13px}.vc-link{font-size:13px;min-height:52px;margin-top:21px;min-width:210px}.vc-brand-art{height:380px;width:100%;max-width:410px;margin:35px auto 0;transform:none}.vc-orbit{width:245px;height:245px;left:calc(50% - 122px);top:35px}.vc-orbit>span{font-size:230px}.vc-orbit:before{inset:22px}.vc-plaque{width:218px;padding:16px 19px}.vc-plaque small{font-size:8px;letter-spacing:.12em}.vc-plaque strong{font-size:32px;margin:8px 0}.vc-plaque strong em{font-size:30px}.vc-plaque>span{font-size:10px}.vc-plaque-ai{top:7px;left:4px}.vc-plaque-school{top:113px;right:0}.vc-plaque-school strong{font-size:25px;line-height:1.4}.vc-plaque-film{bottom:18px;left:7px}.vc-plaque-film strong{font-size:26px;line-height:1.4}.vc-art-caption{font-size:7px;bottom:0;letter-spacing:.12em}.vc-hero-bottom{padding:10px 0 17px;font-size:8px;letter-spacing:.12em}.vn-refined .vn-directory{padding-top:46px;padding-bottom:15px}.vn-refined .vn-directory-label{align-items:flex-start;gap:12px;padding-bottom:23px}.vn-refined .vn-directory-label h2{font-size:24px;letter-spacing:.02em}.vn-refined .vn-directory-label>a{font-size:10px;gap:10px;align-self:flex-end}.vn-refined .vn-small-label{font-size:10px}.vn-refined .vn-service-grid{grid-template-columns:1fr;gap:16px}.vn-refined .vn-service{padding:25px}.vn-refined .vn-ai-mark>strong{font-size:130px}.vn-refined .vn-school-mark strong{font-size:31px}.vn-refined .vn-film-mark strong{font-size:34px}.vn-refined .vn-card-bottom h3{font-size:13px}.vn-refined .vn-card-bottom p{font-size:12px}.vn-refined .vn-space-description{font-size:12px}.vn-refined .vn-preparing{font-size:10px}.vn-refined .vn-space-link{padding:18px 0 24px;margin-top:18px}.vn-refined .vn-space-link h3{font-size:29px}.vc-gallery-door{grid-template-columns:1fr;gap:31px;padding:35px 0 40px}.vc-gallery-door h2{font-size:31px;margin:16px 0}.vc-gallery-door p:not(.vn-small-label){font-size:13px}.vc-door-art{height:270px}.vc-door-inside{height:238px;width:185px}.vc-door-inside strong{font-size:44px}.vc-door-inside small{font-size:7px}.vc-door-arrow{margin-top:12px;width:42px;height:42px}.vn-refined .vn-home-bottom{padding-top:21px;padding-bottom:50px}.vn-refined .vn-home-bottom h2{font-size:23px}.vn-refined .vn-footer{padding-top:40px}.vn-refined .vn-footer .vn-logo{font-size:45px}.vn-refined .vn-footer nav{font-size:12px}.vn-page.vn-refined h1:not(#homeTitle){font-size:32px;line-height:1.8}.vn-refined .vn-page-heading{padding-top:24px;padding-bottom:42px}.vn-refined .vn-page-heading>p:last-child{font-size:13px}.vn-refined .vn-service-row{gap:25px;padding:32px 0 40px}.vn-refined .vn-brand-panel{min-height:245px}.vn-refined .vn-service-detail h2{font-size:25px}.vn-refined .vn-service-detail>p:not(.vn-small-label){font-size:13px}.vn-refined .vn-inline-contact{padding:32px 0 48px}.vn-refined .vn-inline-contact>p{font-size:17px}.vn-refined .vn-company-intro{padding:26px 0 50px;gap:20px}.vn-refined .vn-company-copy p{font-size:13px}.vn-refined .vn-company-data{grid-template-columns:1fr;padding:32px 0 50px;gap:25px}.vn-refined .vn-company-data dl>div{font-size:12px;grid-template-columns:72px 1fr;gap:13px;padding:20px 0}.vn-refined .vn-company-data h2{font-size:24px}.vn-refined .vn-contact-page{padding:25px 0 45px;gap:30px}.vn-refined .vn-contact-page>div>p{font-size:13px}.vn-refined .vn-contact-options a{padding:24px}.vn-refined .vn-contact-options h2{font-size:20px}.vn-refined .vn-contact-email>span:not(.vn-small-label){font-size:19px}}
@media(max-width:360px){.vn-refined .vn-shell{width:calc(100% - 40px)}.vc-plaque{width:196px}.vc-plaque strong{font-size:30px}.vc-plaque-school strong{font-size:23px}.vc-plaque-film strong{font-size:24px}.vn-refined .vn-directory-label{flex-wrap:wrap}.vn-refined .vn-directory-label>a{margin-left:auto}.vn-refined .vn-service{padding:21px}.vn-refined .vn-school-mark strong{font-size:27px}.vn-refined .vn-film-mark strong{font-size:30px}.vn-page.vn-refined h1:not(#homeTitle){font-size:28px}.vn-refined .vn-contact-options a{padding:20px}.vn-refined .vn-contact-options h2{font-size:17px}.vn-refined .vn-brand-panel.school strong{font-size:24px}.vn-refined .vn-brand-panel.film strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.vn-refined *{scroll-behavior:auto!important;transition:none!important}}
