:root{--bg:#090b0d;--panel:#111418;--text:#f4f4f1;--muted:#a9adb2;--accent:#d8b45a;--line:#292d32}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:fixed;top:0;width:100%;z-index:20;background:rgba(9,11,13,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-weight:900;letter-spacing:.14em}.kanji{color:var(--accent);font-family:serif;font-size:1.35em}.nav nav{display:flex;gap:28px}.nav nav a{color:#d8dadd;text-decoration:none;font-size:.85rem}.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,8,.97) 0%,rgba(5,7,8,.77) 52%,rgba(5,7,8,.18) 100%),url('assets/7af82db2-764b-46a8-ac9c-e32c3be2fb1d-1_all_8435.jpg') center/cover no-repeat;filter:saturate(.75)}.hero-inner{position:relative;z-index:2;width:min(920px,90vw);margin-left:7vw;padding-top:70px}.eyebrow{letter-spacing:.2em;font-size:.72rem;font-weight:800;color:var(--accent);margin-bottom:20px}.hero-mark{display:inline-block;border-left:2px solid var(--accent);padding-left:20px;margin-bottom:24px}.hero-mark .jp{font-family:serif;color:var(--accent);font-size:2.2rem;line-height:1}.hero-mark h1{font-size:clamp(3rem,8vw,6.8rem);line-height:.9;margin:7px 0 10px;letter-spacing:.06em}.quality{margin:0;letter-spacing:.28em;font-size:.72rem;color:#d3d5d7}.hero h2{font-size:clamp(2rem,4.5vw,4rem);line-height:1.02;margin:10px 0 22px;max-width:850px}.lead{max-width:720px;color:#c2c5c8;font-size:1.1rem}.actions{display:flex;gap:12px;margin-top:32px}.btn{border:1px solid #565b61;color:white;text-decoration:none;padding:13px 20px;font-weight:700;font-size:.86rem}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0a0b0d}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats div{padding:32px 5vw;border-right:1px solid var(--line)}.stats strong{display:block;font-size:2rem;color:var(--accent)}.stats span{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.section{padding:100px 7vw}.section>h2,.contact h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.05;margin:0 0 45px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{background:var(--panel);padding:34px;border:1px solid var(--line)}.cards h3{font-size:1.35rem}.cards p,.intro,.heritage p{color:var(--muted)}.dark{background:#070809}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:8px}.gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.88);transition:.25s}.gallery img:hover{filter:saturate(1.05);transform:scale(1.012)}.gallery img:nth-child(1),.gallery img:nth-child(6){grid-column:span 2;grid-row:span 2}.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.videos video{width:100%;aspect-ratio:9/16;max-height:650px;background:#000;object-fit:cover}.heritage{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;border-top:1px solid var(--line)}.quote{border-left:1px solid var(--accent);padding-left:34px;align-self:center}.quote span{font-family:serif;color:var(--accent);font-size:5rem}.quote p{font-size:1.3rem}.contact{text-align:center;padding:120px 7vw;background:linear-gradient(135deg,#12161a,#08090a)}.contact .eyebrow{margin-bottom:15px}.contact p{color:var(--muted)}.contact-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:30px}.contact-links a{color:white;text-decoration:none;border-bottom:1px solid var(--accent);padding:8px 2px}footer{padding:28px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#92979c;font-size:.75rem;letter-spacing:.12em}@media(max-width:850px){.nav nav{display:none}.hero-inner{margin-left:6vw}.stats{grid-template-columns:repeat(2,1fr)}.cards,.videos{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}.gallery img:nth-child(1),.gallery img:nth-child(6){grid-column:span 2;grid-row:span 1}.heritage{grid-template-columns:1fr}.section{padding:75px 6vw}footer{gap:20px;flex-direction:column}.hero-bg{background:linear-gradient(0deg,rgba(5,7,8,.96) 0%,rgba(5,7,8,.55) 65%,rgba(5,7,8,.25) 100%),url('assets/7af82db2-764b-46a8-ac9c-e32c3be2fb1d-1_all_8435.jpg') center/cover no-repeat}}

/* WhatsApp direct contact */
.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;align-items:center;gap:10px;padding:13px 17px;border-radius:999px;background:#25D366;color:#07120b!important;text-decoration:none;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s ease,box-shadow .2s ease}.whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.45)}.whatsapp-float .wa-icon{font-size:20px}.contact-links .whatsapp-contact{background:#25D366;color:#07120b;border-color:#25D366;font-weight:800}@media(max-width:640px){.whatsapp-float{right:12px;bottom:12px;padding:12px 15px}.whatsapp-float .wa-text{font-size:14px}}

/* Full-resolution gallery viewer */
.gallery img{cursor:zoom-in}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(0,0,0,.96);color:#fff;overflow:hidden}.lightbox::backdrop{background:rgba(0,0,0,.96)}.lightbox-bar{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:linear-gradient(#000b,transparent)}.lightbox-bar button,.lightbox-prev,.lightbox-next{border:1px solid #ffffff55;background:#111b;color:white;cursor:pointer}.lightbox-bar button{width:44px;height:44px;margin-left:7px;font-size:1.5rem}.lightbox-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:pan-x pan-y}.lightbox-stage img{max-width:96vw;max-height:92vh;width:auto;height:auto;object-fit:contain;transform:scale(1);transform-origin:center;transition:transform .15s ease;cursor:zoom-in}.lightbox-prev,.lightbox-next{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:52px;height:72px;font-size:3rem}.lightbox-prev{left:14px}.lightbox-next{right:14px}.lightbox-count{font-size:.9rem;color:#ddd}@media(max-width:640px){.lightbox-prev,.lightbox-next{width:44px;height:60px;font-size:2.4rem}.lightbox-prev{left:5px}.lightbox-next{right:5px}.lightbox-bar{padding:8px}.lightbox-bar button{width:40px;height:40px}.lightbox-stage img{max-width:100vw;max-height:88vh}}

/* Preserve the photographs exactly as supplied: no crop, no visual filter. */
.original-quality{max-width:760px;margin:-28px 0 34px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px}
.gallery img,.gallery img:nth-child(1),.gallery img:nth-child(6){display:block;width:100%;height:auto;grid-column:auto;grid-row:auto;margin:0;object-fit:contain;filter:none;image-rendering:auto}
.gallery img:hover{filter:none;transform:scale(1.006)}
.clients{padding:80px 7vw;background:#0d1013;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.clients h2{font-size:clamp(1.8rem,3.5vw,3rem);margin:0 0 32px}
.client-list{display:flex;flex-wrap:wrap;gap:12px}
.client-list span{padding:12px 18px;border:1px solid #343940;color:#d8dadd;background:#111418}
.client-list .featured-client{border-color:var(--accent);color:#0a0b0d;background:var(--accent);font-weight:900}
@media(max-width:850px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.clients{padding:65px 6vw}}

/* 2026 visual polish */
body{background:radial-gradient(circle at 76% 12%,rgba(216,180,90,.055),transparent 27rem),var(--bg);-webkit-font-smoothing:antialiased}
.nav{height:78px;background:rgba(8,10,12,.78);box-shadow:0 1px 0 rgba(255,255,255,.035)}
.nav nav a{position:relative;transition:color .2s ease}.nav nav a:hover{color:#fff}.nav nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--accent);transition:right .25s ease}.nav nav a:hover::after{right:0}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:26%;background:linear-gradient(transparent,var(--bg));pointer-events:none}.hero-bg{transform:scale(1.015);animation:hero-settle 1.3s cubic-bezier(.2,.8,.2,1) both}.hero-inner{animation:hero-copy .85s .12s cubic-bezier(.2,.8,.2,1) both}.hero-mark{border-left-width:3px}.hero-mark h1{text-shadow:0 8px 38px rgba(0,0,0,.55)}
.btn{position:relative;overflow:hidden;transition:transform .2s ease,border-color .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px);border-color:var(--accent)}.btn.primary:hover{background:#edce7d}
.cards article{background:linear-gradient(145deg,#15191e,#0e1114);transition:transform .25s ease,border-color .25s ease}.cards article:hover{transform:translateY(-5px);border-color:#4b4433}
.gallery img{background:#111;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .25s ease,box-shadow .25s ease}.gallery img:hover{box-shadow:0 15px 38px rgba(0,0,0,.34)}
.videos video{border:1px solid #24292f;border-radius:3px;box-shadow:0 12px 32px rgba(0,0,0,.22)}
.music-credit{color:#70757b;font-size:.76rem;letter-spacing:.06em;margin-top:20px}
.music-toggle{margin:-18px 0 28px;padding:11px 16px;border:1px solid #615536;background:#17191b;color:#f4f4f1;font:inherit;font-size:.82rem;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:border-color .2s ease,background .2s ease}.music-toggle:hover{border-color:var(--accent);background:#202225}
.client-list span{transition:transform .2s ease,border-color .2s ease}.client-list span:hover{transform:translateY(-2px);border-color:#71603a}
.reveal{opacity:1;transform:none}
@keyframes hero-settle{from{opacity:.55;transform:scale(1.07)}to{opacity:1;transform:scale(1.015)}}
@keyframes hero-copy{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-bg,.hero-inner{animation:none}.reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important}}
@media(max-width:640px){.nav{height:68px;padding:0 4vw}.brand{font-size:.88rem}.language-picker select{min-height:40px}.hero-inner{padding-top:88px}.hero h2{font-size:clamp(2rem,10vw,3rem)}.hero .lead{font-size:1rem}.actions{flex-direction:column;align-items:stretch;width:min(100%,330px)}.btn{text-align:center}.stats div{padding:25px 6vw}.stats strong{font-size:1.55rem}.section>h2,.contact h2{margin-bottom:32px}.gallery{column-gap:7px}.gallery img,.gallery img:nth-child(1),.gallery img:nth-child(6){margin-bottom:7px}.videos{gap:22px}.contact{padding:90px 6vw}.contact-links{flex-direction:column;align-items:center}}
.video-library{display:grid;grid-template-columns:minmax(240px,.8fr) 1.2fr;align-items:stretch;max-width:980px;color:var(--text);text-decoration:none;border:1px solid var(--line);background:var(--panel);transition:.2s}
.video-library:hover{border-color:var(--accent);transform:translateY(-2px)}
.video-library img{width:100%;height:300px;object-fit:cover}
.video-library span{display:flex;flex-direction:column;justify-content:center;padding:38px}
.video-library strong{font-size:clamp(1.6rem,4vw,3rem);line-height:1.05}
.video-library small{margin-top:18px;color:var(--accent);font-size:1rem}
@media(max-width:850px){.video-library{grid-template-columns:1fr}.video-library img{height:240px}.video-library span{padding:28px}}
.hero-mark .jp{display:flex;align-items:center;gap:12px}.hero-mark .jp span{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:.62rem;font-weight:800;letter-spacing:.22em;color:#cfc7b2}@media(max-width:640px){.hero-mark .jp span{font-size:.54rem;letter-spacing:.16em}}
.footer-meta{display:flex;align-items:center;gap:22px}.footer-meta a{color:#b5b9bd;text-decoration:none;border-bottom:1px solid #555}.footer-meta a:hover{color:#fff;border-color:var(--accent)}
.legal-page{min-height:100vh;padding:130px max(6vw,24px) 80px}.legal-wrap{width:min(820px,100%);margin:0 auto}.legal-page h1{font-size:clamp(2.3rem,6vw,4.5rem);line-height:1;margin:0 0 22px}.legal-page h2{font-size:1.25rem;margin:36px 0 8px}.legal-page p,.legal-page li{color:var(--muted)}.legal-page a{color:var(--accent)}.legal-page .updated{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#777d83}.back-link{display:inline-block;margin-top:36px}@media(max-width:850px){.footer-meta{align-items:flex-start;flex-direction:column;gap:12px}}
