:root{--paper:#f5f3ef;--ink:#262824;--muted:#77766f;--line:#d9d6cf;--accent:#a36e58;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans','Noto Sans JP',sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.wrap{width:min(1240px,calc(100% - 72px));margin-inline:auto}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20}.wordmark{font:500 12px var(--mono);letter-spacing:.15em}.header-right{display:flex;align-items:center;gap:22px}.header-contact{font:10px var(--mono);letter-spacing:.1em}.menu-toggle{width:44px;height:44px;border:1px solid var(--line);background:none;display:grid;place-content:center;gap:6px;cursor:pointer}.menu-toggle span{display:block;width:17px;height:1px;background:var(--ink);transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.menu-layer{position:fixed;inset:0;z-index:30}.menu-layer[hidden]{display:none}.menu-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(20,21,19,.42);cursor:pointer}.menu-card{position:absolute;right:0;top:0;height:100%;width:min(480px,100%);background:var(--paper);padding:30px clamp(28px,6vw,58px);display:flex;flex-direction:column;box-shadow:-20px 0 55px #0002}.menu-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:30px;border-bottom:1px solid var(--line);font:11px var(--mono);letter-spacing:.12em}.menu-close{border:0;background:none;font-size:25px;line-height:1;cursor:pointer}.menu-links{display:grid;margin:auto 0;gap:0}.menu-links a{font:clamp(30px,6vw,48px)/1.4 var(--serif);border-bottom:1px solid var(--line);letter-spacing:-.03em}.menu-links a span{font:9px var(--mono);letter-spacing:.14em;color:var(--muted);margin-left:14px}.social-links{display:flex;gap:13px;border-top:1px solid var(--line);padding-top:22px}.social-links a{width:43px;height:43px;border:1px solid var(--line);display:grid;place-items:center;font-size:19px;transition:background .2s,color .2s}.social-links a:hover{background:var(--ink);color:white}.social-links svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.menu-social-label{font:9px var(--mono);letter-spacing:.12em;color:var(--muted);margin-bottom:12px}.menu-footer{margin-top:25px;color:var(--muted);font:9px var(--mono);letter-spacing:.1em}
.hero{padding:82px 0 76px;display:grid;grid-template-columns:.7fr 1.3fr;gap:6%;align-items:center;min-height:660px}.hero-copy{padding:12px 0}.eyebrow,.kicker{font:10px var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--accent)}.hero h1{font:clamp(50px,7vw,94px)/.95 var(--serif);font-weight:400;letter-spacing:-.045em;margin:22px 0 10px}.hero-jp{font:13px var(--sans);letter-spacing:.16em;color:var(--muted)}.hero-meta{font:10px var(--mono);letter-spacing:.12em;color:var(--muted);margin-top:25px}.actions{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:17px;padding:14px 17px;background:var(--ink);color:#fff;font-size:11px;transition:background .2s}.button:hover{background:var(--accent)}.button.light{background:transparent;color:var(--ink);border:1px solid var(--line)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery-card{position:relative;display:block;overflow:hidden;background:#e4ddd3;aspect-ratio:4/5}.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-card:hover img{transform:scale(1.035)}.gallery-card .gallery-caption{position:absolute;left:10px;bottom:10px;padding:7px 9px;background:rgba(245,243,239,.92);font:9px var(--mono);letter-spacing:.09em}.gallery-card .ig-cue{position:absolute;right:10px;top:10px;background:#f5f3efdd;padding:7px 9px;font:9px var(--mono);opacity:0;transition:opacity .2s}.gallery-card:hover .ig-cue,.gallery-card:focus-visible .ig-cue{opacity:1}.gallery-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-head h2,.page-title{font:clamp(42px,6vw,66px)/1 var(--serif);font-weight:400;letter-spacing:-.045em;margin:9px 0 0}.section-head p{font-size:11px;color:var(--muted);margin:0}.more-link{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid var(--ink);padding:11px 0;font:10px var(--mono);letter-spacing:.1em;margin-top:25px}.more-link:hover{color:var(--accent);border-color:var(--accent)}.home-works{border-top:1px solid var(--line)}.home-works .section-head{margin-bottom:22px}.credits{border-top:1px solid var(--line)}.credit{display:grid;grid-template-columns:45px 1fr 1fr auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.credit-num{font:10px var(--mono);color:var(--accent)}.credit-title{font-size:14px}.credit-type{font:9px var(--mono);letter-spacing:.1em;color:var(--muted)}.text-link{font:10px var(--mono);white-space:nowrap}.text-link:hover{color:var(--accent)}
.page-intro{padding:88px 0 40px}.page-intro .page-title{margin-top:13px}.page-intro p{max-width:580px;color:var(--muted);font-size:13px;line-height:1.9;margin:20px 0 0}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px}.portfolio-grid .gallery-card{aspect-ratio:4/5}.split-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}.split-card{border:1px solid var(--line);padding:32px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s}.split-card:hover{background:#ebe8e1}.split-card strong{font:38px var(--serif);font-weight:400}.split-card span{font:10px var(--mono);letter-spacing:.12em;color:var(--muted)}.profile-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center;padding-bottom:100px}.portrait-placeholder{position:relative;min-height:480px;overflow:hidden;background:linear-gradient(145deg,#d8cec1,#ede8df 52%,#b9a99b);display:grid;place-items:center}.portrait-placeholder:before{content:"";position:absolute;width:46%;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#d9c8b8,#aa8f7d);top:17%;left:27%;box-shadow:0 170px 0 45px #76635a}.portrait-placeholder:after{content:"";position:absolute;inset:auto 0 0;height:43%;background:linear-gradient(0deg,#39353155,transparent)}.placeholder-label{position:absolute;z-index:1;bottom:18px;left:18px;color:white;font:10px var(--mono);letter-spacing:.14em}.profile-copy p{font-size:13px;line-height:2;color:var(--muted)}.placeholder-note{font:9px var(--mono);letter-spacing:.08em;color:var(--accent);margin-top:25px}.schedule-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0;display:grid;grid-template-columns:180px 1fr;gap:26px}.schedule-card .kicker{padding-top:5px}.schedule-card p{font-size:13px;line-height:1.9;color:var(--muted);margin:0;max-width:560px}
.contact-panel{background:#292c28;color:#f4f1eb;padding:78px 0}.contact-panel .kicker{color:#d6a58d}.contact-title{font:clamp(42px,6vw,66px)/1 var(--serif);font-weight:400;margin:12px 0 16px}.contact-panel p{font-size:13px;color:#c5c5bd;line-height:1.9;margin:0}.contact-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.contact-options a{border:1px solid #777970;padding:14px 17px;font-size:11px;display:inline-flex;align-items:center;gap:9px}.contact-options a:hover{background:#41443f}.contact-options svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.site-footer{padding:20px 0;background:#20221f;color:#a6a79f}.footer-inner{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.08em}.footer-inner a{color:#ebe9e2}.footer-social{display:flex;gap:14px}.footer-social a:hover{color:white}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.site-header{height:66px}.header-right{gap:15px}.header-contact{font-size:9px}.menu-toggle{width:40px;height:40px}.hero{padding:52px 0 38px;grid-template-columns:1fr;gap:28px;min-height:0}.hero h1{font-size:clamp(53px,14vw,76px);margin:18px 0 9px}.hero-meta{margin-top:18px}.actions{margin-top:22px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-card{aspect-ratio:4/5}.gallery-card .gallery-caption{left:7px;bottom:7px;padding:6px 7px;font-size:8px}.gallery-card .ig-cue{opacity:1;right:6px;top:6px;font-size:8px}.section{padding:64px 0}.section-head{align-items:start;display:block;margin-bottom:23px}.section-head h2,.page-title{font-size:44px}.section-head p{margin-top:12px}.credit{grid-template-columns:28px 1fr auto;gap:9px;padding:15px 0}.credit-title{font-size:12px}.credit-type{grid-column:2;font-size:8px}.credit .text-link{grid-column:3;grid-row:1/3;font-size:9px}.page-intro{padding:60px 0 28px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.split-links{grid-template-columns:1fr;gap:10px}.split-card{min-height:150px;padding:24px}.profile-layout{grid-template-columns:1fr;gap:32px;padding-bottom:65px}.portrait-placeholder{min-height:400px}.schedule-card{grid-template-columns:1fr;gap:12px;padding:26px 0}.contact-panel{padding:58px 0}.contact-title{font-size:52px}.contact-options a{padding:12px;font-size:10px}.footer-inner{font-size:8px;gap:12px;flex-wrap:wrap}}
@media(max-width:380px){.wrap{width:calc(100% - 28px)}.gallery{gap:6px}.gallery-card .gallery-caption{font-size:7px}.header-contact{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

