:root{--sumi:#0f0e0c;--sumi-soft:#1a1917;--sumi-mid:#2a2825;--washi:#f4f0e7;--washi-dim:#e9e3d5;--gold:#b39a5f;--gold-bright:#d4bc7f;--gray:#8a857a;--line:#b39a5f40;--font-mincho:"Shippori Mincho B1", serif;--font-gothic:"Zen Kaku Gothic New", sans-serif;--font-serif-en:"Cormorant Garamond", serif;--ease-luxe:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--sumi);color:var(--washi);font-family:var(--font-gothic);letter-spacing:.06em;-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.9;overflow-x:hidden}::selection{background:var(--gold);color:var(--sumi)}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}.inner{max-width:1160px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}.section{padding:clamp(96px,14vh,160px) 0;position:relative}.eyebrow{font-family:var(--font-serif-en);letter-spacing:.42em;text-transform:uppercase;color:var(--gold);align-items:center;gap:16px;margin-bottom:24px;font-size:13px;display:flex}.eyebrow:before{content:"";background:var(--gold);opacity:.6;width:48px;height:1px}.section-title{font-family:var(--font-mincho);letter-spacing:.08em;margin-bottom:28px;font-size:clamp(28px,4.2vw,44px);font-weight:600;line-height:1.6}.section-desc{color:var(--gray);max-width:640px;font-size:15px}.gold{color:var(--gold-bright)}.header{z-index:100;transition:background .5s var(--ease-luxe), backdrop-filter .5s;position:fixed;top:0;left:0;right:0}.header--scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f0e0cd1;border-bottom:1px solid #b39a5f24}.header-inner{justify-content:space-between;align-items:center;max-width:1360px;margin:0 auto;padding:22px clamp(20px,4vw,44px);display:flex}.logo-text{font-family:var(--font-serif-en);letter-spacing:.18em;color:var(--washi);font-size:26px;font-weight:500}.logo-sub{letter-spacing:.38em;color:var(--gold);margin-top:-2px;font-size:9px}.nav{align-items:center;gap:clamp(20px,3vw,40px);display:flex}.nav-link{font-family:var(--font-serif-en);letter-spacing:.28em;color:var(--washi-dim);padding:4px 0;font-size:13px;transition:color .3s;position:relative}.nav-link:after{content:"";background:var(--gold);transform-origin:100%;width:100%;height:1px;transition:transform .5s var(--ease-luxe);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-link:hover{color:var(--gold-bright)}.nav-link:hover:after{transform-origin:0;transform:scaleX(1)}.nav-cta{font-family:var(--font-serif-en);letter-spacing:.3em;color:var(--sumi);background:linear-gradient(120deg, var(--gold-bright), var(--gold));transition:opacity .3s, transform .3s var(--ease-luxe);border-radius:2px;padding:12px 28px;font-size:12px}.nav-cta:hover{opacity:.85;transform:translateY(-1px)}.menu-toggle{cursor:pointer;z-index:120;background:0 0;border:none;flex-direction:column;gap:6px;padding:8px;display:none}.menu-toggle span{background:var(--washi);width:26px;height:1px;transition:transform .4s var(--ease-luxe), opacity .3s;display:block}@media (width<=820px){.menu-toggle{display:flex}.nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;pointer-events:none;background:#0f0e0cf5;flex-direction:column;justify-content:center;gap:36px;transition:opacity .4s;position:fixed;inset:0}.nav--open{opacity:1;pointer-events:auto}.nav-link{font-size:16px}.menu-toggle--open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle--open span:nth-child(2){opacity:0}.menu-toggle--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}}.hero{justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-video{position:absolute;inset:0}.hero-video video{object-fit:cover;opacity:.5;width:100%;height:100%}.hero-video:after{content:"";background:radial-gradient(ellipse at center, transparent 0%, #0f0e0c8c 78%), linear-gradient(to bottom, #0f0e0c59, #0f0e0c33 45%, var(--sumi) 98%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;padding:0 24px;position:relative}.hero-brand{font-family:var(--font-serif-en);letter-spacing:.55em;color:var(--gold-bright);text-transform:uppercase;margin-bottom:30px;font-size:clamp(14px,1.6vw,17px)}.hero-title{font-family:var(--font-mincho);letter-spacing:.1em;margin-bottom:34px;font-size:clamp(34px,6.4vw,72px);font-weight:600;line-height:1.55}.hero-sub{letter-spacing:.22em;color:var(--washi-dim);margin-bottom:44px;font-size:clamp(13px,1.5vw,16px)}.hero-content{padding-bottom:60px}.hero-scroll{z-index:2;font-family:var(--font-serif-en);letter-spacing:.4em;color:var(--gray);flex-direction:column;align-items:center;gap:14px;font-size:10px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.hero-scroll-line{background:linear-gradient(to bottom, var(--gold), transparent);width:1px;height:56px}.btn{font-family:var(--font-serif-en);letter-spacing:.32em;color:var(--washi);border:1px solid var(--line);transition:color .45s var(--ease-luxe), border-color .45s;cursor:pointer;background:0 0;border-radius:2px;align-items:center;gap:18px;padding:18px 44px;font-size:13px;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:linear-gradient(120deg, var(--gold-bright), var(--gold));transform-origin:100%;transition:transform .5s var(--ease-luxe);z-index:-1;position:absolute;inset:0;transform:scaleX(0)}.btn:hover{color:var(--sumi);border-color:var(--gold)}.btn:hover:before{transform-origin:0;transform:scaleX(1)}.btn--gold{background:linear-gradient(120deg, var(--gold-bright), var(--gold));color:var(--sumi);border-color:#0000}.btn--gold:before{display:none}.btn--gold:hover{opacity:.85}.philosophy{background:radial-gradient(ellipse 60% 50% at 85% 15%, #b39a5f0f, transparent), var(--sumi)}.philosophy-grid{grid-template-columns:1fr 1.15fr;align-items:center;gap:clamp(40px,7vw,100px);display:grid}.philosophy-visual{aspect-ratio:3/4;border-radius:2px;position:relative;overflow:hidden}.philosophy-visual img{object-fit:cover;filter:grayscale(.35)sepia(.12)brightness(.82)contrast(1.05);width:100%;height:100%}@media (width<=860px){.philosophy-visual{max-width:400px;margin:0 auto}}.philosophy-visual:after{content:"";border:1px solid var(--line);pointer-events:none;position:absolute;inset:0;transform:translate(14px,14px)}.philosophy-text p{color:var(--gray);margin-bottom:22px;font-size:15px}.philosophy-text p strong{color:var(--washi);font-weight:400}.value{background:linear-gradient(to bottom, var(--sumi), #14120f 50%, var(--sumi))}.value-flow{flex-wrap:wrap;align-items:stretch;margin-top:64px;display:flex}.value-step{text-align:center;border:1px solid #b39a5f24;border-left:none;flex:1;min-width:150px;padding:36px 18px;position:relative}.value-step:first-child{border-left:1px solid #b39a5f24}.value-step--accent{background:#b39a5f12}.value-step-num{font-family:var(--font-serif-en);letter-spacing:.3em;color:var(--gold);margin-bottom:14px;font-size:12px}.value-step-label{font-family:var(--font-mincho);letter-spacing:.12em;margin-bottom:8px;font-size:19px}.value-step-sub{color:var(--gray);font-size:12px;line-height:1.7}.services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;margin-top:64px;display:grid}.service-card{background:#1a19178c;border:1px solid #b39a5f29;border-radius:2px;padding:44px 36px;transition:border-color .45s;position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(to right, var(--gold-bright), transparent);transform-origin:0;width:100%;height:1px;transition:transform .6s var(--ease-luxe);position:absolute;top:0;left:0;transform:scaleX(0)}.service-card:hover{border-color:#b39a5f73}.service-card:hover:before{transform:scaleX(1)}.service-card-num{font-family:var(--font-serif-en);letter-spacing:.3em;color:var(--gold);margin-bottom:22px;font-size:13px;display:block}.service-card-title{font-family:var(--font-mincho);letter-spacing:.08em;margin-bottom:16px;font-size:22px;font-weight:600;line-height:1.6}.service-card-desc{color:var(--gray);margin-bottom:24px;font-size:14px}.service-card-features{list-style:none}.service-card-features li{color:var(--washi-dim);border-top:1px solid #b39a5f1f;gap:12px;padding:9px 0;font-size:13px;display:flex}.service-card-features li:before{content:"—";color:var(--gold)}.works{background:radial-gradient(ellipse 50% 40% at 10% 90%, #b39a5f0d, transparent), var(--sumi)}.works-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;margin-top:64px;display:grid}.work-card{border:1px solid #b39a5f24;border-radius:2px;position:relative;overflow:hidden}.work-card-visual{aspect-ratio:16/10;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.work-card-visual--a{background:linear-gradient(200deg,#2b2620,#16140f)}.work-card-visual--b{background:linear-gradient(240deg,#262119,#131110)}.work-card-visual--c{background:linear-gradient(210deg,#292418,#121110)}.work-card-play{border:1px solid var(--gold);width:64px;height:64px;color:var(--gold-bright);transition:background .4s, transform .4s var(--ease-luxe);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.work-card:hover .work-card-play{background:#b39a5f29;transform:scale(1.08)}.work-card-sample{font-family:var(--font-serif-en);letter-spacing:.3em;color:var(--gray);border:1px solid #8a857a66;border-radius:2px;padding:5px 12px;font-size:10px;position:absolute;top:16px;left:16px}.work-card-body{background:#1a19178c;padding:26px 28px 30px}.work-card-label{font-family:var(--font-serif-en);letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:10px;font-size:11px}.work-card-title{font-family:var(--font-mincho);letter-spacing:.08em;margin-bottom:8px;font-size:18px}.work-card-desc{color:var(--gray);font-size:13px}.works-note{color:var(--gray);text-align:center;margin-top:36px;font-size:12px}.flow-list{margin-top:64px;display:grid}.flow-item{border-top:1px solid #b39a5f24;grid-template-columns:120px 1fr;align-items:baseline;gap:clamp(24px,5vw,64px);padding:40px 0;display:grid}.flow-item:last-child{border-bottom:1px solid #b39a5f24}.flow-num{font-family:var(--font-serif-en);color:var(--gold);letter-spacing:.1em;font-size:30px}.flow-title{font-family:var(--font-mincho);letter-spacing:.1em;margin-bottom:10px;font-size:21px}.flow-desc{color:var(--gray);max-width:620px;font-size:14px}@media (width<=640px){.flow-item{grid-template-columns:1fr;gap:8px}}.company-table{border-collapse:collapse;width:100%;max-width:760px;margin-top:56px}.company-table th,.company-table td{text-align:left;vertical-align:top;border-bottom:1px solid #b39a5f24;padding:26px 8px;font-weight:300}.company-table th{font-family:var(--font-mincho);letter-spacing:.16em;color:var(--gold-bright);white-space:nowrap;width:180px;font-size:14px}.company-table td{color:var(--washi-dim);font-size:15px}@media (width<=560px){.company-table th{width:110px}}.contact{background:linear-gradient(to bottom, var(--sumi), #161410)}.contact-grid{grid-template-columns:1fr 1.2fr;gap:clamp(48px,7vw,100px);margin-top:24px;display:grid}@media (width<=860px){.contact-grid,.philosophy-grid{grid-template-columns:1fr}}.contact-form{gap:26px;display:grid}.form-field label{letter-spacing:.2em;color:var(--gold-bright);font-size:12px;font-family:var(--font-mincho);margin-bottom:10px;display:block}.form-field input,.form-field textarea{width:100%;color:var(--washi);font-family:var(--font-gothic);letter-spacing:.05em;background:#1a191799;border:1px solid #b39a5f2e;border-radius:2px;padding:15px 18px;font-size:15px;transition:border-color .3s}.form-field input:focus,.form-field textarea:focus{border-color:var(--gold);outline:none}.form-field textarea{resize:vertical;min-height:150px}.form-status{color:var(--gold-bright);font-size:13px}.footer{border-top:1px solid #b39a5f24;padding:64px 0 40px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.footer-company{color:var(--gray);margin-top:18px;font-size:12px;line-height:2}.footer-nav{font-family:var(--font-serif-en);letter-spacing:.28em;gap:28px;font-size:11px;display:flex}.footer-nav a{color:var(--gray);transition:color .3s}.footer-nav a:hover{color:var(--gold-bright)}.footer-copy{text-align:center;width:100%;font-family:var(--font-serif-en);letter-spacing:.3em;color:var(--gray);border-top:1px solid #b39a5f14;margin-top:40px;padding-top:28px;font-size:11px}
