
:root{color-scheme:dark;--bg:#080b12;--fg:#f6f5f6;--muted:#aab3c4;--accent:#c8d2e6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:"Helvetica Neue",Arial,"Noto Sans JP",sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #fff;outline-offset:5px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:15px;height:70px;padding:0 5%;background:#080b12ef;border-bottom:1px solid #ffffff21;backdrop-filter:blur(14px)}.logo{font-size:24px;letter-spacing:.2em}.toplinks{display:flex;gap:25px;font-size:11px;letter-spacing:.12em;color:#c9cedb}.toplinks a:hover{color:#fff}.wrap{max-width:1350px;margin:auto}.mast{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:620px;overflow:hidden;border-bottom:1px solid #ffffff22}.portrait{position:relative;min-height:620px;overflow:hidden;background:#111722}.portrait img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 35%}.portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 75%,#080b12 100%),linear-gradient(0deg,#080b1255,transparent 40%)}.details{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(30px,5vw,95px);background:radial-gradient(circle at 20% 25%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%)}.eyebrow{font-size:11px;letter-spacing:.3em;color:var(--accent)}h1{font-weight:400;font-size:clamp(60px,8vw,124px);letter-spacing:.04em;margin:14px 0 5px;line-height:1.1}h2{font-weight:400;letter-spacing:.1em;font-size:clamp(27px,3.5vw,44px)}.role{font-size:12px;letter-spacing:.22em;color:#b9c3d4}.lead{font-size:clamp(19px,2.2vw,29px);line-height:1.7;margin-top:65px}.description{font-size:14px;color:#c0c6d2;line-height:2.1;max-width:520px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #ffffff78;padding:14px 21px;border-radius:30px;font-size:12px;letter-spacing:.07em;transition:background .2s,transform .2s}.btn:hover{background:#ffffff18;transform:translateY(-2px)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.section{padding:78px 6%}.section-title{margin:0 0 32px}.workgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.work{padding:30px;border:1px solid #ffffff25;background:linear-gradient(130deg,#1a2130,#10141e);min-height:200px}.work small{font-size:11px;color:var(--accent);letter-spacing:.15em}.work h3{font-weight:400;font-size:29px;margin:23px 0 12px}.work p{font-size:13px;color:#bfc5d1;line-height:1.9}.artist-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mini{position:relative;overflow:hidden;min-height:240px;background:#161b26;border:1px solid #ffffff25}.mini img{width:100%;height:240px;object-fit:cover;display:block;filter:saturate(.8);transition:transform .35s}.mini:hover img{transform:scale(1.08)}.mini span{position:absolute;bottom:0;left:0;right:0;padding:36px 16px 14px;background:linear-gradient(transparent,#05070bdc);font-size:23px}.mini.current{border-color:var(--accent)}footer{border-top:1px solid #ffffff24;padding:38px 6%;color:#9da6b7;font-size:12px;line-height:2}@media(max-width:850px){.mast{grid-template-columns:1fr}.portrait{min-height:470px}.portrait img{object-position:center 35%}.portrait:after{background:linear-gradient(0deg,#080b12,transparent 35%)}.details{padding:35px 7% 65px}.lead{margin-top:30px}.workgrid{grid-template-columns:1fr}.artist-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:60px 6%}.toplinks{gap:12px}}@media(max-width:440px){.topbar{height:60px}.logo{font-size:18px}.toplinks{font-size:10px}.portrait{min-height:390px}.mini,.mini img{height:190px;min-height:190px}}

/* Ver.1.1.1 mobile refinements */
@media(max-width:600px){.topbar{padding:0 4%;gap:8px}.logo{font-size:17px;letter-spacing:.1em}.toplinks{gap:9px;flex-wrap:wrap;justify-content:flex-end}.toplinks a{font-size:10px}.portrait{min-height:0;aspect-ratio:4/5}.portrait img{object-position:center 35%}.details{padding:32px 6% 52px}h1{font-size:clamp(52px,16vw,80px)}.section{padding:50px 5%}.work{padding:22px}.work h3{font-size:24px}.artist-nav{gap:8px}.mini,.mini img{height:180px;min-height:180px}.mini span{font-size:19px}}
@media(max-width:370px){.toplinks{gap:7px}.toplinks a{font-size:9px}.logo{font-size:15px}.mini,.mini img{height:160px;min-height:160px}}

/* Ver.1.2.1 — Artist portraits: show complete original artwork on all screens. */
.mast .portrait {
  min-height:0; height:auto; display:flex; align-items:center; justify-content:center;
  overflow:hidden; background:#0b0e16;
}
.mast .portrait img {
  position:static; inset:auto; width:100%; height:auto; max-height:none;
  object-fit:contain; object-position:center; flex:none;
}
.mast .portrait::after {pointer-events:none; background:linear-gradient(90deg,transparent 94%,#080b1250 100%);}
@media(max-width:850px) {
  .mast .portrait {min-height:0; aspect-ratio:auto;}
  .mast .portrait img {width:100%;height:auto;object-fit:contain;}
  .mast .portrait::after {background:none;}
}
@media(max-width:600px) {
  .mast .portrait {min-height:0;aspect-ratio:auto;}
  .mast .portrait img {position:static;width:100%;height:auto;object-fit:contain;}
}
