:root {
  --bg: #080a0f;
  --bg-soft: #0d1118;
  --panel: rgba(17, 21, 29, 0.78);
  --panel-solid: #11151d;
  --line: rgba(255,255,255,.11);
  --line-strong: rgba(255,255,255,.2);
  --text: #f4f4f1;
  --muted: #a7adba;
  --muted-2: #747d8e;
  --accent: #bf3147;
  --accent-2: #f35b70;
  --assumption: #b78adf;
  --lupina: #d9a356;
  --gold: #d7b06a;
  --ok: #76c79b;
  --max: 1280px;
  --radius: 22px;
  --shadow: 0 28px 80px rgba(0,0,0,.35);
  --ease: cubic-bezier(.2,.75,.2,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin:0; background:radial-gradient(circle at 15% 0%,rgba(191,49,71,.13),transparent 35%),radial-gradient(circle at 100% 18%,rgba(215,176,106,.07),transparent 26%),var(--bg); color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; letter-spacing:.02em; line-height:1.75; min-height:100vh; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.05; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E"); }
a { color:inherit; text-decoration:none; } img { max-width:100%; display:block; } button,input,textarea { font:inherit; } button { color:inherit; }
.skip-link { position:fixed; top:10px; left:10px; z-index:10001; padding:10px 14px; border-radius:10px; background:#fff; color:#111; transform:translateY(-150%); transition:.2s; } .skip-link:focus{transform:translateY(0)}
.site-header { position:fixed; z-index:1000; left:0; right:0; top:0; backdrop-filter:blur(16px); background:linear-gradient(to bottom,rgba(8,10,15,.92),rgba(8,10,15,.58)); border-bottom:1px solid transparent; transition:border-color .3s ease,background .3s ease; }
.site-header.scrolled { border-color:var(--line); background:rgba(8,10,15,.9); }
.header-inner { width:min(calc(100% - 40px),var(--max)); margin:auto; height:78px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:13px; min-width:max-content; } .brand-mark { width:37px; height:37px; border:1px solid var(--line-strong); border-radius:50%; display:grid; place-items:center; position:relative; }
.brand-mark::before,.brand-mark::after{content:"";position:absolute;background:var(--text);opacity:.9}.brand-mark::before{width:15px;height:1px;transform:rotate(43deg)}.brand-mark::after{height:15px;width:1px;transform:rotate(43deg)}
.brand-name{font-size:13px;font-weight:800;letter-spacing:.22em}.brand-sub{display:block;color:var(--muted-2);font-size:9px;letter-spacing:.18em;margin-top:-2px}
.nav{display:flex;align-items:center;gap:26px}.nav a{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.14em;transition:color .2s}.nav a:hover,.nav a[aria-current="page"]{color:var(--text)}.nav-cta{padding:10px 15px;border:1px solid var(--line-strong);border-radius:999px}.menu-btn{display:none;border:0;background:none;padding:8px;cursor:pointer}.menu-btn span{width:25px;height:1px;background:var(--text);display:block;margin:6px 0;transition:.25s}
main{overflow:clip}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.section{padding:116px 0;position:relative}.section-tight{padding:82px 0}.section-line{border-top:1px solid var(--line)}
.eyebrow{display:flex;gap:10px;align-items:center;color:var(--accent-2);font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.eyebrow::before{content:"";width:22px;height:1px;background:currentColor}.title-xl{font-size:clamp(46px,7vw,108px);line-height:.96;letter-spacing:-.045em;margin:20px 0 26px;font-weight:800}.title-lg{font-size:clamp(34px,4.5vw,68px);line-height:1.05;letter-spacing:-.04em;margin:12px 0 20px}.title-md{font-size:clamp(25px,3vw,40px);line-height:1.25;margin:0;letter-spacing:-.025em}.lead{color:#c7cbd4;font-size:clamp(16px,1.7vw,20px);max-width:760px}.muted{color:var(--muted)}.small{font-size:12px}
.hero{min-height:100svh;display:flex;align-items:center;padding:140px 0 80px;position:relative}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(40px,6vw,100px);align-items:center}.hero-copy{position:relative;z-index:3}.hero-kicker{font-size:11px;color:var(--muted);letter-spacing:.34em;font-weight:800}.hero .title-xl span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.72)}.hero-desc{max-width:650px;color:#bbc1cd;margin:28px 0 38px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 21px;border-radius:999px;border:1px solid var(--line-strong);font-size:12px;font-weight:800;letter-spacing:.12em;transition:.25s var(--ease);cursor:pointer}.btn:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.45)}.btn-primary{background:var(--text);color:#0c0d10;border-color:var(--text)}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn .arrow{font-size:18px;line-height:1;transition:transform .25s}.btn:hover .arrow{transform:translateX(3px)}
.hero-art{min-height:610px;position:relative}.orbit{position:absolute;width:min(52vw,590px);aspect-ratio:1;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.11)}.orbit::before,.orbit::after{content:"";position:absolute;border-radius:50%;inset:13%;border:1px solid rgba(255,255,255,.075)}.orbit::after{inset:28%;border-color:rgba(191,49,71,.25)}.orbit-glow{position:absolute;inset:25%;border-radius:50%;background:radial-gradient(circle,rgba(191,49,71,.26),rgba(191,49,71,.03) 48%,transparent 70%);filter:blur(12px)}.orbit-line{position:absolute;left:50%;top:50%;width:130%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:translate(-50%,-50%) rotate(-28deg)}.hero-label{position:absolute;font-size:10px;letter-spacing:.18em;color:var(--muted-2)}.hero-label.a{top:9%;right:6%}.hero-label.b{bottom:10%;left:3%}.hero-monogram{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(100px,18vw,240px);font-weight:900;letter-spacing:-.14em;color:rgba(255,255,255,.045);user-select:none}
.feature-window{position:absolute;width:68%;min-width:330px;right:2%;top:23%;background:linear-gradient(145deg,rgba(24,27,36,.93),rgba(9,11,16,.94));border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transform:rotate(3deg)}.feature-window::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.04);border-radius:15px;pointer-events:none}.window-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted-2);font-size:9px;letter-spacing:.18em;padding:4px 4px 14px}.window-visual{aspect-ratio:16/10;border-radius:15px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(3,3,5,.2),rgba(3,3,5,.75)),radial-gradient(circle at 70% 30%,rgba(191,49,71,.5),transparent 22%),linear-gradient(135deg,#21101a,#0a0a0e 65%)}.window-visual .rv-thumb{position:absolute;width:120px;height:120px;right:7%;bottom:7%;border-radius:18px;object-fit:cover;box-shadow:0 20px 40px rgba(0,0,0,.4)}.window-title{position:absolute;left:7%;bottom:9%;max-width:70%}.window-title strong{display:block;font-size:clamp(22px,3vw,38px);line-height:1.05;letter-spacing:-.04em}.window-title span{font-size:10px;color:#d9bcc1;letter-spacing:.15em}
.stats-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:32px 28px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat b{display:block;font-size:24px;letter-spacing:-.04em}.stat span{color:var(--muted-2);font-size:10px;letter-spacing:.15em}
.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:end;margin-bottom:54px}.section-head p{margin:0;color:var(--muted);max-width:660px}
.works-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.work-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:520px;background:var(--panel-solid);transition:transform .35s var(--ease),border-color .35s}.work-card:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.24)}.work-bg{position:absolute;inset:0;transition:transform .7s var(--ease)}.work-card:hover .work-bg{transform:scale(1.025)}.work-card.revenge .work-bg{background:linear-gradient(180deg,transparent 25%,rgba(5,5,8,.95) 90%),radial-gradient(circle at 75% 30%,rgba(225,44,74,.46),transparent 22%),linear-gradient(125deg,#250b17,#090a0f 58%)}.work-symbol{position:absolute;right:-2%;top:6%;font-size:160px;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.04);line-height:1}.work-thumb{position:absolute;top:40px;right:40px;width:128px;border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.38)}.work-content{position:absolute;inset:auto 0 0;padding:42px;z-index:2}.work-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.tag{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border-radius:999px;border:1px solid var(--line-strong);color:#cbd0d8;font-size:9px;font-weight:800;letter-spacing:.14em}.tag.live::before{content:"";width:6px;height:6px;border-radius:50%;margin-right:7px;background:var(--ok);box-shadow:0 0 0 4px rgba(118,199,155,.1)}.work-title{font-size:clamp(34px,4.2vw,58px);line-height:1;margin:0 0 18px;letter-spacing:-.05em}.work-desc{color:#b7bdc7;max-width:640px;margin:0 0 24px}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.16em}.text-link i{width:28px;height:1px;background:currentColor;transition:width .25s}.text-link:hover i{width:40px}
.activity-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.activity-item{min-height:270px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.activity-num{color:var(--muted-2);font-size:10px;letter-spacing:.15em}.activity-item h3{margin:56px 0 12px;font-size:19px}.activity-item p{color:var(--muted);font-size:13px;margin:0}.activity-icon{position:absolute;top:26px;right:26px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted)}
.news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:120px 140px 1fr 30px;gap:20px;align-items:center;padding:24px 4px;border-bottom:1px solid var(--line);transition:background .2s}.news-item:hover{background:rgba(255,255,255,.025)}.news-date{color:var(--muted-2);font-size:11px;letter-spacing:.1em}.news-cat{font-size:9px;font-weight:800;letter-spacing:.13em;color:#d5d8df}.news-title{font-size:14px}.news-arrow{color:var(--muted-2)}
.message-panel{display:grid;grid-template-columns:.78fr 1.22fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,.02)}.message-side{min-height:430px;padding:42px;position:relative;background:radial-gradient(circle at 50% 30%,rgba(191,49,71,.2),transparent 40%),#0c0e13}.message-side .giant{position:absolute;bottom:-35px;left:12px;font-size:160px;line-height:1;font-weight:900;color:rgba(255,255,255,.035)}.message-body{padding:50px clamp(32px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.message-body blockquote{margin:0;font-size:clamp(22px,2.7vw,35px);line-height:1.55;letter-spacing:-.02em}.message-body p{color:var(--muted);margin:24px 0 0}
.cta-panel{padding:64px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(120deg,rgba(191,49,71,.16),rgba(255,255,255,.025) 50%,rgba(109,168,200,.08));display:flex;justify-content:space-between;align-items:end;gap:40px}.cta-panel h2{margin:0;font-size:clamp(30px,4vw,54px);letter-spacing:-.04em;line-height:1.05}
.site-footer{border-top:1px solid var(--line);padding:48px 0 30px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:50px;margin-bottom:60px}.footer-brand p{color:var(--muted-2);max-width:420px;font-size:12px}.footer-col h4{color:var(--muted-2);font-size:9px;letter-spacing:.18em;margin:0 0 16px}.footer-col a{display:block;color:#c2c7d0;font-size:12px;margin:9px 0}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;color:var(--muted-2);font-size:10px}
.page-hero{padding:170px 0 86px;border-bottom:1px solid var(--line)}.page-hero .title-lg{margin-top:20px}.breadcrumb{color:var(--muted-2);font-size:10px;letter-spacing:.12em}.breadcrumb span{margin:0 8px}
.project-hero{min-height:83svh;display:flex;align-items:end;padding:160px 0 78px;position:relative;overflow:hidden}.project-hero.revenge{background:radial-gradient(circle at 72% 34%,rgba(191,49,71,.28),transparent 22%),linear-gradient(110deg,#120912,#07080c 64%)}.project-hero::before{content:"";position:absolute;width:680px;height:680px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-80px;top:50%;transform:translateY(-50%)}.project-hero::after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,255,255,.05);border-radius:50%;right:20px;top:50%;transform:translateY(-50%)}.project-content{position:relative;z-index:2;max-width:780px}.project-title{font-size:clamp(54px,8vw,118px);letter-spacing:-.065em;line-height:.9;margin:16px 0 28px}.project-subtitle{color:#c5cad3;max-width:650px;font-size:18px}.project-specs{display:flex;gap:25px;flex-wrap:wrap;margin:32px 0}.project-specs div span{display:block;color:var(--muted-2);font-size:9px;letter-spacing:.12em}.project-specs div b{font-size:13px;font-weight:650}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{padding:28px;min-height:240px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.018)}.feature-card .n{color:var(--muted-2);font-size:10px}.feature-card h3{margin:46px 0 12px;font-size:20px}.feature-card p{color:var(--muted);font-size:13px;margin:0}.two-col{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,8vw,110px);align-items:start}.prose{color:#c3c8d2}.prose p{margin:0 0 1.4em}.prose strong{color:var(--text)}.quote{padding:28px 0 28px 28px;border-left:2px solid var(--accent);font-size:21px;line-height:1.6;margin:35px 0;color:#eceef2}
.timeline{position:relative;padding-left:32px}.timeline::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--line)}.timeline-item{position:relative;padding:0 0 42px}.timeline-item::before{content:"";position:absolute;left:-31px;top:7px;width:9px;height:9px;background:var(--bg);border:1px solid var(--accent-2);border-radius:50%}.timeline-item time{color:var(--muted-2);font-size:10px;letter-spacing:.12em}.timeline-item h3{font-size:18px;margin:5px 0 8px}.timeline-item p{color:var(--muted);margin:0;font-size:13px}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.contact-card{border:1px solid var(--line);border-radius:var(--radius);padding:38px;background:rgba(255,255,255,.018)}.contact-card h3{margin:0 0 12px;font-size:22px}.contact-card p{color:var(--muted);font-size:13px}.contact-link{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-size:12px}.notice{border:1px solid rgba(215,176,106,.25);background:rgba(215,176,106,.06);border-radius:15px;padding:18px 20px;color:#d5c4a4;font-size:12px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.nav{position:fixed;inset:78px 0 auto;padding:25px 20px 32px;background:rgba(8,10,15,.97);border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:flex-start;gap:18px}.nav.open{display:flex}.menu-btn{display:block}.hero-grid{grid-template-columns:1fr}.hero-art{min-height:480px}.feature-window{width:72%;right:8%;top:15%}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-head,.message-panel,.two-col,.contact-grid{grid-template-columns:1fr}.works-grid{grid-template-columns:1fr}.work-card{min-height:470px}.activity-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:640px){.header-inner,.container{width:min(calc(100% - 28px),var(--max))}.header-inner{height:68px}.nav{top:68px}.brand-sub{display:none}.section{padding:82px 0}.hero{padding-top:110px}.hero-art{min-height:380px}.feature-window{min-width:0;width:86%;right:2%;top:16%}.window-visual .rv-thumb{width:82px;height:82px}.hero-label.a{right:0}.section-head{gap:18px;margin-bottom:34px}.stats-grid{grid-template-columns:1fr 1fr}.stat{padding:22px 16px}.stat b{font-size:18px}.work-card{min-height:430px}.work-content{padding:28px}.work-thumb{width:82px;top:24px;right:24px;border-radius:15px}.activity-grid{grid-template-columns:1fr}.activity-item{min-height:220px}.news-item{grid-template-columns:90px 1fr 20px;gap:12px}.news-cat{display:none}.message-side{min-height:250px}.message-body{padding:34px 26px}.cta-panel{padding:35px 26px;flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-bottom{flex-direction:column;gap:8px}.feature-grid{grid-template-columns:1fr}.project-hero{min-height:78svh;padding-bottom:55px}.project-title{font-size:clamp(47px,17vw,80px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}

/* Yatasana Project / three-work portfolio */
.work-card.assumption .work-bg{background:linear-gradient(180deg,transparent 22%,rgba(7,6,11,.96) 90%),radial-gradient(circle at 68% 26%,rgba(183,138,223,.38),transparent 24%),linear-gradient(125deg,#26172e,#090a0f 62%)}
.work-card.lupina .work-bg{background:linear-gradient(180deg,transparent 22%,rgba(8,6,4,.96) 90%),radial-gradient(circle at 70% 25%,rgba(217,163,86,.35),transparent 24%),linear-gradient(125deg,#30200d,#0a0907 62%)}
.works-grid.three-works{grid-template-columns:repeat(2,minmax(0,1fr))}
.works-grid.three-works .work-card.feature{grid-column:1/-1;min-height:560px}
.works-grid.three-works .work-card:not(.feature){min-height:500px}
.work-title small{display:block;margin-top:10px;font-size:.36em;letter-spacing:.04em;font-weight:650;line-height:1.35;color:#d6dae2}
.work-thumb.wide-thumb{width:180px;max-height:120px;object-fit:cover;object-position:center;border-radius:16px}
.project-title small{display:block;font-size:.22em;letter-spacing:.05em;line-height:1.4;margin-top:24px;color:#d4d8e0;font-weight:650}
.project-title.jp{line-height:1.05}.project-title.jp small{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:.28em}
.project-hero.assumption{background:radial-gradient(circle at 72% 34%,rgba(183,138,223,.28),transparent 24%),linear-gradient(110deg,#1b1122,#07080c 64%)}
.project-hero.lupina{background:radial-gradient(circle at 72% 34%,rgba(217,163,86,.26),transparent 24%),linear-gradient(110deg,#21170b,#080807 64%)}
.assumption-accent{color:var(--assumption)!important}.lupina-accent{color:var(--lupina)!important}.quote.assumption-line{border-color:var(--assumption)}.quote.lupina-line{border-color:var(--lupina)}
@media(max-width:980px){.works-grid.three-works{grid-template-columns:1fr}.works-grid.three-works .work-card.feature{grid-column:auto;min-height:490px}}
@media(max-width:640px){.works-grid.three-works .work-card.feature,.works-grid.three-works .work-card:not(.feature){min-height:440px}.work-thumb.wide-thumb{width:115px;max-height:78px}}
