/* Vishnu's private-gallery entrance. Scoped additions; existing service content and access stay intact. */
.vl-home,.vl-gallery{--vl-gold:#d9b775;--vl-ivory:#fff6e8;--vl-night:#100d0c;--vl-line:#725b393f}
.vl-home{background:var(--vl-night);color:var(--vl-ivory)}
.vl-gallery{background:#130f0d;color:#f8ecd6;--night:#130f0d;--ivory:#f8ecd6;--gold:#d9b775}
.vl-gallery .gallery-toolbar{background:#1b1511;color:#e4d2b5;border-color:#80684755}
.vl-gallery .case-exhibition{background:#100d0b;border-color:#80684755}
.vl-home .vn-header,.vl-gallery .vn-header{background:#120e0df5;border-bottom-color:#b7955345;backdrop-filter:blur(16px)}
.vl-home .vn-header{padding-inline:clamp(24px,5vw,100px)}
.vl-home .vn-header .vn-logo>span,.vl-gallery .vn-logo>span{color:var(--vl-gold)}
.vl-home .vn-header .vn-menu nav>a.vn-contact-link,.vl-gallery .vn-header .vn-menu nav>a.vn-contact-link{background:#d9b775;border-color:#d9b775;color:#17110b}
.vl-home .vn-business-menu,.vl-gallery .vn-business-menu{background:#1d1713;border-color:#826b465f}
.vl-home .vn-menu nav>a:hover,.vl-home .vn-business-toggle:hover{color:#e9c78c}
.vl-hero{position:relative;isolation:isolate;min-height:740px;height:calc(100svh - 84px);max-height:1160px;overflow:hidden;background:#110c08;width:100%;font-family:'Manrope','Noto Sans JP',sans-serif}
.vl-scene{position:absolute;inset:0;z-index:-2;overflow:hidden}
.vl-scene>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:70% top;transform-origin:70% top;display:block;transform:scale(1.025);animation:vl-breathe 20s ease-in-out infinite alternate}
.vl-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c0809ad 0%,#0c080951 40%,transparent 67%),linear-gradient(0deg,#100d0c 0%,transparent 20%,transparent 80%,#100d0c26)}
.vl-hero-inner{width:min(1720px,90%);margin:auto;height:100%;display:flex;align-items:center;padding:72px 0 140px}
.vl-copy{width:57%;max-width:880px}
.vl-eyebrow{display:flex;gap:15px;align-items:center;font-size:13px;font-weight:800;letter-spacing:.22em;color:#e9c98b;margin:0 0 32px}
.vl-eyebrow>span{display:block;width:32px;height:1px;background:#d9b775}
.vl-copy h1{font-size:clamp(42px,4.1vw,79px);font-weight:800;line-height:1.5;letter-spacing:-.055em;margin:0 0 24px;color:#fff9ef;text-shadow:0 3px 40px #0005}
.vl-copy h1 span{color:#e6c48a}
.vl-lead{font-size:clamp(17px,1.18vw,22px);font-weight:600;line-height:2;letter-spacing:.015em;color:#f4e9db;margin:0 0 34px}
.vl-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.vl-button{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;min-height:62px;padding:15px 27px;background:linear-gradient(120deg,#f1d8a9,#d4af6b);color:#20170d!important;font-size:17px;font-weight:800;text-decoration:none;box-shadow:0 6px 32px #bfa26517;transition:box-shadow .2s,background .2s}
.vl-button:hover{background:#f5ddb0;box-shadow:0 4px 32px #d1ab513d}
.vl-button>span{font-size:23px}
.vl-link{display:grid;grid-template-columns:1fr auto;gap:2px 22px;min-height:62px;padding:8px 0;border-bottom:1px solid #d7bd87a6;font-size:17px;font-weight:700;color:#fff7e7;text-decoration:none}
.vl-link>small{grid-column:1/-1;font-size:12px;font-weight:600;color:#e0cdb0}
.vl-hero-bottom{position:absolute;bottom:28px;left:5%;right:5%;display:flex;gap:24px;align-items:center;color:#e1c698}
.vl-scroll{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:800;letter-spacing:.14em;text-decoration:none;min-height:44px}
.vl-scroll>span{font-size:24px}
.vl-host-label{display:flex;flex-direction:column;gap:6px;margin-left:auto;text-decoration:none;text-align:right;padding-right:24px;border-right:1px solid #96764466}
.vl-host-label>span{font-size:10px;font-weight:700;letter-spacing:.18em;color:#e1c698}
.vl-host-label>strong{font-size:16px;letter-spacing:.14em;color:#fff3dc}
.vl-motion{background:#16100bcc;border:1px solid #baa17370;color:#ffefcd;min-height:44px;padding:10px 15px;font-size:13px;font-weight:700;cursor:pointer}
.vl-motion:hover{background:#342719}
.vl-dust{position:absolute;inset:0;opacity:.7;background-image:radial-gradient(circle at 25% 36%,#f3d79b 0 1px,transparent 2px),radial-gradient(circle at 54% 61%,#dfb36c 0 1px,transparent 2px),radial-gradient(circle at 90% 30%,#f8dfa6 0 1px,transparent 2px),radial-gradient(circle at 45% 75%,#efd29c 0 1px,transparent 2px);background-size:410px 340px,630px 520px,730px 760px,910px 890px;animation:vl-dust 18s linear infinite alternate;pointer-events:none}
.vl-curtain{position:absolute;top:0;bottom:0;width:51%;z-index:2;pointer-events:none;background:repeating-linear-gradient(90deg,#26060d 0%,#601222 8%,#2e0610 15%,#140309 20%);box-shadow:0 0 50px #0008;animation:vl-open 1.6s cubic-bezier(.22,.7,.16,1) both}
.vl-curtain-left{left:0;transform-origin:left}.vl-curtain-right{right:0;transform-origin:right}
.vl-home.vl-paused .vl-scene>img,.vl-home.vl-paused .vl-dust{animation-play-state:paused}
.vl-home.vl-paused .vl-curtain{display:none}
.vl-home .vy-shell,.vl-home .vt-shell{width:min(1480px,calc(100% - 112px))}
.vl-home .vy-service-nav{border-block:1px solid #81664466;margin-top:0;margin-bottom:0}
.vl-home .vy-service-nav a{color:#f1e5d0;border-color:#81664466;font-size:17px}
.vl-home .vy-service-nav small{color:#d9b775}
.vl-home .vy-services{padding-block:108px 96px;scroll-margin-top:100px}
.vl-home .vy-kicker,.vl-home .vt-eyebrow{color:#d9b775}
.vl-home .vy-section-head h2,.vl-home .vt-about h2,.vl-home .vt-private h2{font-size:clamp(34px,3.1vw,54px);line-height:1.6;font-weight:800;letter-spacing:-.045em;color:#fff3df}
.vl-home .vy-section-head>p{color:#d5c9b8;font-weight:600}
.vl-home .vy-business-grid{gap:54px 46px}
.vl-home .vy-business-image{border:8px solid #2d241a;outline:1px solid #96774794;outline-offset:-1px;box-shadow:0 1px 0 1px #090605,0 20px 36px #0007;padding:0;aspect-ratio:16/10}
.vl-home .vy-business-image:before{content:'';position:absolute;inset:0;border:1px solid #bd9d5e6b;z-index:3;pointer-events:none}
.vl-home .vy-business-text{border-bottom:1px solid #6d5b413f;padding-bottom:28px}
.vl-home .vy-business-text h3{font-size:25px;line-height:1.55;color:#fff3df}
.vl-home .vy-business-text p{color:#d5c9b8;font-size:17px;font-weight:600}
.vl-home .vy-number,.vl-home .vy-detail,.vl-home .vy-image-category{color:#d9b775}
.vl-home .vy-image-category{background:#0c090adb;padding:6px 10px}
.vl-home .vy-business-film .vy-business-image{background:#000}
.vl-home .vy-business-film .vy-business-image img{padding:18px;object-fit:contain}
.vl-home .vy-all-services{border-color:#9b7e50;color:#e6c891}
.vl-home .vt-about{background:radial-gradient(ellipse at 18% 0%,#6a34182c,transparent 70%),#171210;border-block:1px solid #7b624444}
.vl-home .vt-about p,.vl-home .vt-private p{color:#d5c9b8}
.vl-home .vt-text-link{color:#e6c891;border-color:#9b7e50}
.vl-home .vt-private{gap:60px;padding-block:110px}
.vl-home .vy-gallery-image{border:1px solid #9b7e50;box-shadow:0 18px 44px #0006}
.vl-home .vy-gallery-image img{object-position:72% center}
.vl-home .vt-contact-strip{background:#2a1713;border-block:1px solid #9b7e5060}
.vl-home .vt-contact-strip h2{color:#fff3df}
.vl-home .vt-contact-strip .vt-button{background:#d9b775;border-color:#d9b775;color:#1c130b}
.vl-home .vn-footer,.vl-gallery .vn-footer{background:#0c0908;border-color:#725b39;color:#e3d5bf}
/* Generated photography logo: one mark, identical across all placements. */
.vn-page.vn-refined.vt-page.vl-corporate{background:#130f0d;color:#f9efdf;--vn-line:#80684755;--vc-gold:#d9b775}
.vl-corporate .vn-header,.vl-corporate .vn-footer{background:#100c0b;border-color:#80684755}
.vl-corporate .vn-header .vn-menu nav>a.vn-contact-link{background:#d9b775;border-color:#d9b775;color:#21160b}
.vl-corporate .vn-logo>span{color:#d9b775}
.vn-page.vn-refined.vt-page.vl-corporate :is(h1,h2,h3){color:#fff3df}
.vn-page.vn-refined.vt-page.vl-corporate :is(.vn-page-heading>p,.vn-service-detail>p,.vn-company-copy>p,.vn-company-data dd,.vn-breadcrumb){color:#d9cbb8;font-weight:600}
.vn-page.vn-refined.vt-page.vl-corporate .vn-small-label,.vl-corporate .vn-company-data dt,.vl-corporate .vn-company-data h2 span{color:#d9b775}
.vn-page.vn-refined.vt-page.vl-corporate .vn-brand-panel{border:6px solid #392b1c;outline:1px solid #a1835099;outline-offset:-1px;box-shadow:0 18px 36px #0005}
.vl-corporate .vn-service-detail .vn-for{border-color:#b8995b}
.vn-page.vn-refined.vt-page.vl-corporate :is(.vn-text-link,.vb-kicker){color:#e5c58a!important}
.vl-corporate .vn-inline-contact{border-color:#80684755}
.vl-corporate .vn-button,.vl-corporate .vb-actions a:first-child{background:#d9b775;border-color:#d9b775;color:#21160b}
.vl-corporate .vb-host :is(p,.vb-host-lead){color:#d9cbb8}
.vl-corporate .vb-host .vb-host-lead{color:#e5c58a}
.vl-corporate .vb-host .vb-actions a:not(:first-child){color:#e5c58a;border-color:#9c8053}
.vl-corporate .vn-business-menu{background:#1d1713;border-color:#80684755}
.vl-corporate .vn-breadcrumb{font-size:14px}
@media(max-width:900px){.vl-corporate .vn-menu{background:#17110f}}
.service-matataki .vb-film-art{background:#000;border:1px solid #60553b;padding:45px 18px}
.service-matataki .vb-film-art img{transform:none!important;object-fit:contain;width:100%;height:auto;max-height:none}
.service-matataki .vb-film-art figcaption{color:#cdb77d}
img[src*='lakshmi-gallery-20260911/matataki-logo']{object-fit:contain}
.vn-brand-panel.film.vb-directory-logo{background:#000}
.vb-host figure{background:#1d1410;border:1px solid #a68652;border-radius:0}
.vb-host figure img[src*='lakshmi-gallery']{object-fit:cover;height:auto;aspect-ratio:1}
.vf-home-guide img[src*='lakshmi-gallery'],.vb-gallery-guide summary img[src*='lakshmi-gallery']{border-radius:50%;object-fit:cover}
.brand>img[src*='lakshmi-gallery']{width:48px;height:48px;border-radius:50%;object-fit:cover}
/* The password entrance continues to request private work only after authentication. */
.vl-gallery .invitation{background:#130f0d;color:#fff3df;grid-template-columns:1.15fr 1fr}
.vl-gallery .invitation-art{background:#130f0d}
.vl-gallery .invitation-art>img{object-fit:cover;object-position:77% center}
.vl-gallery .invitation-art:after{background:linear-gradient(0deg,#160c08dc,transparent 35%,transparent 75%,#160c0833)}
.vl-gallery .invitation-panel{background:radial-gradient(ellipse at top right,#4d2d163b,transparent 75%),#130f0d;padding-inline:clamp(28px,4vw,76px)}
.vl-gallery .invitation-caption{left:40px;right:28px;bottom:42px}
.vl-gallery .invitation-caption p{font-family:'Manrope','Noto Sans JP',sans-serif;font-size:clamp(23px,2.2vw,38px);font-weight:800;line-height:1.6;letter-spacing:-.035em}
.vl-gallery .gate-brand{color:#fff4df}
.vl-gallery .invitation-top,.vl-gallery .invitation-bottom,.vl-gallery .invitation-number{color:#d7b881}
.vl-gallery .invitation-panel h1{color:#fff3df}
.vl-gallery .gate-intro,.vl-gallery .gate-note,.vl-gallery .gate-request-note{color:#d9cbb8!important;font-weight:600}
.vl-gallery .gate-request{background:#d9b775;color:#22170b;font-weight:800}
.vl-gallery .gate-request:hover{background:#efd6a7}
.vl-gallery .gate-existing{border-color:#9a7b4f63}
.vl-gallery .password-wrap{border-color:#aa8e5d;background:#271c14;padding-left:15px}
.vl-gallery .password-wrap input{color:#fff3df}
.vl-gallery .password-wrap>button{color:#e4c997}
.vl-gallery .enter-button{background:#d9b775;color:#22170b;border-color:#d9b775;font-weight:800}
.vl-gallery .enter-button:hover{background:#efd6a7}
.vl-gallery .enter-button>span:last-child{color:#22170b}
.vl-gallery .gate-error{color:#ffb0a2}
.vl-gallery .vb-welcome img{object-position:70% center}
.vl-home :is(a,button):focus-visible,.vl-gallery :is(a,button,input):focus-visible{outline:3px solid #f5d39b;outline-offset:5px}
@keyframes vl-open{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes vl-breathe{from{transform:scale(1.025)}to{transform:scale(1.06)}}
@keyframes vl-dust{from{transform:translateY(10px);opacity:.35}to{transform:translateY(-25px);opacity:.65}}
@media(min-width:1800px){.vl-hero-inner{padding-left:28px}.vl-copy{max-width:860px}}
@media(max-width:1100px) and (min-width:801px){.vl-hero{min-height:740px}.vl-copy{width:62%}.vl-copy h1{font-size:46px}.vl-lead{font-size:18px}.vl-actions{gap:22px}.vl-button{gap:20px;padding-inline:20px}.vl-scene>img{object-position:68% center}.vl-scene:after{background:linear-gradient(90deg,#0c0809b0,#0c080952 50%,transparent 80%),linear-gradient(0deg,#100d0c,transparent 35%)}}
@media(max-width:900px){.vl-home .vn-menu,.vl-gallery .vn-menu{background:#17110f}.vl-home .vn-header{padding-inline:24px}.vl-hero{height:calc(100svh - 76px)}}
@media(max-width:800px){
 .vl-hero{height:auto;min-height:0;max-height:none;padding-top:360px}
 .vl-scene{bottom:auto;height:450px}
 .vl-scene>img{object-position:76% 28%;transform:none;animation:none}
 .vl-scene:after{background:linear-gradient(0deg,#100d0c 0%,#100d0c77 18%,transparent 45%)}
 .vl-hero-inner{width:auto;margin:0;padding:0 24px 100px;position:relative}
 .vl-copy{width:100%;max-width:none}
 .vl-eyebrow{font-size:11px;letter-spacing:.16em;margin-bottom:16px;gap:12px}
 .vl-copy h1{font-size:clamp(29px,8.2vw,52px);line-height:1.52;letter-spacing:-.05em;margin-bottom:20px}
 .vl-lead{font-size:17px;line-height:1.95;margin-bottom:28px}
 .vl-actions{display:grid;grid-template-columns:1fr;gap:18px}
 .vl-button{min-height:58px;justify-content:space-between;font-size:17px}
 .vl-link{min-height:56px;width:100%;font-size:17px}
 .vl-hero-bottom{bottom:22px;left:24px;right:24px;gap:10px;justify-content:space-between}
 .vl-scroll{display:none}.vl-host-label{margin-left:0;text-align:left;padding:0;border:0}.vl-host-label>span{font-size:10px}.vl-host-label>strong{font-size:14px}
 .vl-motion{font-size:12px;padding:8px 12px}
 .vl-home .vy-shell,.vl-home .vt-shell{width:calc(100% - 48px)}
 .vl-home .vy-service-nav{grid-template-columns:1fr 1fr;gap:0}.vl-home .vy-service-nav a{font-size:16px;min-height:68px}
 .vl-home .vy-services{padding-block:64px}.vl-home .vy-section-head{margin-bottom:34px}
 .vl-home .vy-section-head h2,.vl-home .vt-about h2,.vl-home .vt-private h2{font-size:34px;line-height:1.55}
 .vl-home .vy-section-head>p{font-size:16px;line-height:1.9}
 .vl-home .vy-business-grid{gap:38px;grid-template-columns:1fr}
 .vl-home .vy-business-image{border-width:6px;aspect-ratio:16/11}
 .vl-home .vy-business-text h3{font-size:22px}.vl-home .vy-business-text p{font-size:16px}.vl-home .vy-business-text{padding-top:20px}
 .vl-home .vt-private{padding-block:64px;gap:30px}.vl-home .vy-gallery-image{aspect-ratio:4/3}
 .vl-home .vt-about{padding-block:64px}.vl-home .vt-contact-strip h2{font-size:30px}
 .service-matataki .vb-film-art{padding:22px 8px;max-width:440px}
 .vl-gallery .invitation{grid-template-columns:1fr;grid-template-rows:340px auto}
 .vl-gallery .invitation-art{height:340px;min-height:0}
 .vl-gallery .invitation-art>img{height:100%;top:0;object-position:77% 30%}
 .vl-gallery .invitation-caption{left:24px;bottom:22px}.vl-gallery .invitation-caption p{font-size:24px}
 .vl-gallery .invitation-panel{padding:24px;gap:24px}.vl-gallery .invitation-panel form{max-width:none}
 .vl-gallery .invitation-top{flex-wrap:wrap;gap:8px}.vl-gallery .invitation-panel h1{margin-block:16px}
}
@media(max-width:360px){.vl-hero{padding-top:320px}.vl-scene{height:400px}.vl-hero-inner{padding-inline:20px}.vl-copy h1{font-size:28px}.vl-home .vy-shell,.vl-home .vt-shell{width:calc(100% - 40px)}.vl-home .vy-section-head h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.vl-curtain{display:none}.vl-scene>img,.vl-dust{animation:none!important}.vl-hero :is(a,button){transition:none}.vl-home{scroll-behavior:auto}}
