@charset "UTF-8";
:root{--bg:#10110f;--bg2:#171916;--panel:#1d211e;--ink:#f3f0e9;--text:#d3d0c9;--muted:#999b93;--line:rgba(245,241,230,.16);--accent:#d6b079;--cream:#e8e5dc;--black:#151715;--font:Inter,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;--serif:Georgia,"Times New Roman",serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;line-height:1.8}
body.menu-open{overflow:hidden}
::selection{background:var(--accent);color:var(--black)}
a{color:inherit;text-decoration:none}
button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
p,h1,h2,h3{margin:0}p{overflow-wrap:anywhere}
.wrap{width:min(100% - 100px,1380px);margin:0 auto}
.skip-link{position:fixed;left:20px;top:-100px;z-index:300;padding:12px 20px;background:#fff;color:#000}.skip-link:focus{top:12px}
.reading-progress{position:fixed;z-index:105;top:0;left:0;width:100%;height:2px;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:90;border-bottom:1px solid rgba(255,255,255,.075);background:rgba(16,17,15,.78);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:background .25s,border-color .25s}.site-header.is-scrolled{background:rgba(16,17,15,.95);border-color:var(--line)}
.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.wordmark{display:flex;align-items:center;gap:14px;white-space:nowrap}.wordmark-icon{display:grid;place-items:center;width:36px;height:36px;border:1.5px solid var(--ink);font-weight:850;font-size:21px;letter-spacing:-.1em;line-height:1}.brand-dot{color:var(--accent)}.wordmark-name{font-size:18px;font-weight:850;letter-spacing:.18em;line-height:1}
.header-right{display:flex;align-items:center;gap:57px}.header-context{color:#b7b8ae;font-family:monospace;font-size:10px;letter-spacing:.11em;white-space:nowrap}.header-context i{display:inline-block;width:3px;height:3px;background:var(--accent);border-radius:50%;vertical-align:middle;margin:0 8px}
.site-nav{display:flex;align-items:center;gap:27px}.site-nav a{font-size:10px;letter-spacing:.14em;font-weight:700;color:#bbbeb7;transition:color .2s}.site-nav a:hover{color:var(--accent)}.site-nav .nav-contact{color:var(--ink);border-bottom:1px solid var(--accent);padding-bottom:7px}.nav-contact span{color:var(--accent);margin-left:8px}.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;min-height:820px;padding-top:144px;background:radial-gradient(ellipse 44% 50% at 78% 58%,rgba(94,102,74,.16),transparent 72%),linear-gradient(135deg,#131513 0%,#10110f 60%)}
.hero-grid{position:absolute;inset:0;opacity:.35;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:100px 100px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 90%)}
.hero-inner{position:relative}.hero-eyebrow{display:flex;align-items:center;gap:15px;font-family:monospace;font-size:11px;letter-spacing:.21em;color:#c5c5b9;line-height:1}.eyebrow-line{width:36px;height:1px;background:var(--accent)}.hero-sequence{margin-left:auto;color:#777d75;font-size:10px}
.hero-title{position:relative;margin-top:22px;font-size:clamp(135px,20vw,340px);font-weight:850;line-height:.9;letter-spacing:-.105em;white-space:nowrap;transform:translateX(-.045em);z-index:1}.hero-period{color:var(--accent)}
.hero-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:365px;position:relative;margin-top:3px}.hero-copy{padding:10px 0 40px 3px;position:relative;z-index:2}.hero-heading-jp{font-size:clamp(28px,3.3vw,47px);font-weight:700;line-height:1.55;letter-spacing:.12em}.hero-description{margin-top:23px;font-size:14px;line-height:2.2;letter-spacing:.055em;color:#b2b5ab}.text-link{display:inline-flex;align-items:center;gap:35px;margin-top:34px;padding-bottom:11px;border-bottom:1px solid var(--accent);font-size:10px;font-weight:700;letter-spacing:.18em}.text-link span{font-size:18px;color:var(--accent);transition:transform .25s}.text-link:hover span,.button-outline:hover span,.button-light:hover span{transform:translate(3px,-3px)}
.hero-art{height:420px;position:relative;display:grid;place-items:center;isolation:isolate;margin-top:-20px}.hero-art::before{content:"";position:absolute;width:260px;height:260px;background:radial-gradient(circle,rgba(186,151,94,.07),transparent 72%);border-radius:50%;filter:blur(20px)}.orbit{position:absolute;border-radius:50%;border:1px solid rgba(217,205,178,.32)}.orbit-one{width:365px;height:365px}.orbit-two{width:285px;height:285px;border-style:dashed;border-color:rgba(214,176,121,.33);animation:spin 50s linear infinite}.orbit-three{width:203px;height:203px;border-color:rgba(214,176,121,.68)}.orbit-two:before{content:"";position:absolute;width:9px;height:9px;top:8px;left:55px;background:var(--accent);border-radius:50%}.orbit-one:after{content:"";position:absolute;width:5px;height:5px;bottom:18px;right:76px;background:#e0dccb;border-radius:50%}.orbit-center{font-size:132px;font-weight:800;line-height:1;letter-spacing:-.13em;padding-right:18px}.orbit-center span{color:var(--accent);font-size:75px}.orbit-note{position:absolute;font-family:monospace;font-size:9px;letter-spacing:.16em;color:var(--accent);line-height:1.8}.orbit-note-top{right:0;top:27px}.orbit-note-bottom{left:10px;bottom:48px;color:#8a9085}
.hero-footer{height:72px;display:flex;justify-content:space-between;align-items:center;gap:30px;color:#878b82;font-family:monospace;font-size:10px;letter-spacing:.11em}.hero-footer-line{height:1px;flex:1;background:var(--line)}.hero-footer i{font-style:normal;color:var(--accent);font-size:9px;margin:0 10px}
.section{padding:140px 0;scroll-margin-top:70px}.section-index{display:block;font-family:monospace;font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--accent)}.two-column{display:grid;grid-template-columns:39% 1fr;column-gap:7%}.section-side{position:relative}.section-heading{font-size:clamp(76px,8vw,133px);letter-spacing:-.085em;line-height:.9;font-weight:800;margin-top:30px}.punctuation{color:var(--accent)}.section-side-caption{display:block;font-size:12px;letter-spacing:.05em;line-height:2.2;color:#8f9389;margin-top:40px}
.section-about{background:#1a1d19}.about-body{padding-top:44px;max-width:660px}.intro-lead{font-size:clamp(25px,3vw,38px);font-weight:650;letter-spacing:.045em;line-height:1.65!important;color:var(--ink)!important;margin-bottom:38px!important}.intro-lead span{color:var(--accent)}.about-body p:not(.intro-lead){color:#b6b9b1;font-size:15px;line-height:2.55;letter-spacing:.045em;margin-bottom:22px}.button-outline{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;min-width:233px;margin-top:24px;padding:17px 19px;border:1px solid #8c9287;letter-spacing:.13em;font-size:10px;font-weight:700;transition:background .2s,color .2s,border-color .2s}.button-outline span{font-size:19px;color:var(--accent);transition:transform .2s}.button-outline:hover{background:#292e28;border-color:var(--accent)}
.section-fields{background:#111310}.section-top{display:grid;grid-template-columns:28% 1fr;gap:7%;align-items:start;margin-bottom:65px}.section-top>.section-index{padding-top:15px}.display-heading{font-size:clamp(60px,7.8vw,128px);font-weight:800;letter-spacing:-.08em;line-height:.99}.section-summary{margin-top:26px;color:#969c93;font-size:14px;line-height:1.9;letter-spacing:.07em}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.field-card{border:1px solid rgba(255,255,255,.12);background:#1b1e1a;min-height:594px;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s,border-color .3s}.field-card:hover{transform:translateY(-6px);border-color:rgba(214,176,121,.55)}.field-card-head{display:flex;align-items:center;justify-content:space-between;padding:22px 25px 0;color:#bbb7aa;font-family:monospace;font-size:11px;letter-spacing:.15em}.field-symbol{font-size:24px;color:var(--accent)}.field-card-art{position:relative;height:225px;margin:0 24px;overflow:hidden;display:flex;align-items:center;justify-content:center}.art-hair div{width:160px;height:160px;border:1px solid rgba(206,178,126,.55);border-radius:50%;position:absolute;transform:rotate(60deg) scaleX(.55)}.art-hair div:nth-child(2){transform:rotate(0deg) scaleX(.55);width:185px;height:185px;border-color:rgba(229,227,211,.25)}.art-hair div:nth-child(3){transform:rotate(120deg) scaleX(.55);width:185px;height:185px;border-color:rgba(216,174,106,.7)}.art-code{flex-direction:column;gap:9px;font-family:monospace;font-size:23px;letter-spacing:-.04em;color:#c6d0ba;transform:rotate(-6deg)}.art-code span:first-child{color:#d8ad75;font-size:33px}.art-code span:last-child{color:#7f947d}.art-life .life-circle{position:absolute;border-radius:50%;width:145px;height:145px;mix-blend-mode:screen;opacity:.7}.life-circle-one{background:#827358;left:24%;top:12%}.life-circle-two{background:#61716b;left:39%;top:20%}.life-circle-three{background:#857466;left:30%;top:34%}.field-card-content{flex:1;padding:8px 29px 28px;display:flex;flex-direction:column}.field-label{color:var(--accent);font-family:monospace;font-size:10px;letter-spacing:.15em}.field-card h3{font-size:clamp(29px,3vw,42px);font-weight:650;line-height:1.4;letter-spacing:.07em;margin:13px 0 17px}.field-card p{font-size:13px;color:#b0b6ad;line-height:2;letter-spacing:.025em}.field-card a{border-top:1px solid rgba(255,255,255,.16);font-size:11px;font-weight:600;padding-top:18px;margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:#e6e4da}.field-card a span{color:var(--accent);font-size:19px}.field-card a:hover{color:var(--accent)}
.statement{background:var(--accent);color:#181a16;padding:120px 0 114px;position:relative;overflow:hidden}.statement:before{content:"UICHI";font-size:34vw;letter-spacing:-.1em;line-height:1;font-weight:850;position:absolute;bottom:-.31em;right:-.05em;color:rgba(28,28,22,.055);pointer-events:none}.statement-wrap{position:relative}.statement-mark{font-family:var(--serif);font-size:80px;line-height:.7}.statement p{font-size:clamp(34px,6.1vw,86px);font-weight:700;letter-spacing:.02em;line-height:1.45;margin:20px 0 35px}.statement em{font-style:normal;color:rgba(28,30,25,.55)}.statement-sub{font-size:10px;letter-spacing:.19em;font-family:monospace;font-weight:600}
.section-journey{background:#161916}.journey-list{border-top:1px solid var(--line);margin-top:40px}.journey-item{display:grid;grid-template-columns:56px 1fr 22px;gap:23px;border-bottom:1px solid var(--line);padding:29px 4px 31px;align-items:start}.journey-n{font-family:monospace;font-size:11px;color:var(--accent);padding-top:9px}.journey-tag{display:block;font-family:monospace;color:#8b9885;letter-spacing:.12em;font-size:10px}.journey-item h3{margin:5px 0 12px;font-size:20px;letter-spacing:.06em;font-weight:600}.journey-item p{font-size:13px;color:#989e95;line-height:1.8}.journey-mark{color:var(--accent);font-size:20px}
.section-projects{background:#101210}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:21% 1fr 26% 32px;gap:18px;align-items:center;padding:30px 8px;border-bottom:1px solid var(--line);min-height:112px;transition:background .2s,padding .2s}.project-row[href]:hover{background:#1b1d19;padding-left:20px}.project-index{font:10px monospace;letter-spacing:.10em;color:var(--accent)}.project-row strong{display:flex;align-items:baseline;flex-wrap:wrap;gap:16px;font-size:clamp(20px,2.6vw,35px);font-weight:750;line-height:1.1;letter-spacing:-.045em}.project-row strong small{font-size:12px;letter-spacing:.08em;color:#939991;font-weight:400}.project-desc{font-size:12px;color:#a5a89f;letter-spacing:.02em}.project-arrow{font-size:22px;color:var(--accent);text-align:right}.project-note{color:#80877c;margin-top:20px;font-size:11px;letter-spacing:.035em}
.section-journal{background:#1c211e}.journal-preview{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:stretch;border-top:1px solid var(--line);padding-top:40px}.journal-intro{padding:20px 0}.journal-dash{display:block;width:44px;height:3px;background:var(--accent)}.journal-intro h3{font-size:clamp(27px,3.5vw,49px);line-height:1.55;margin-top:25px;letter-spacing:.06em}.journal-intro p{max-width:460px;font-size:14px;line-height:2.2;color:#adb5ac;margin:20px 0 28px}.button-light{display:inline-flex;justify-content:space-between;align-items:center;background:#e7e4da;color:#191b18;gap:35px;padding:16px 22px;font-size:11px;font-weight:750;letter-spacing:.04em;min-width:205px}.button-light span{font-size:20px;transition:transform .2s}.journal-topics{border-top:1px solid var(--line)}.journal-topics div{display:grid;grid-template-columns:55px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:31px 0}.journal-topics span{font:10px monospace;color:var(--accent)}.journal-topics strong{font-size:19px;letter-spacing:.03em}.journal-topics small{font-size:12px;color:#9ca49a}
.contact-section{padding:115px 0 122px;background:var(--cream);color:#1d201b;overflow:hidden}.contact-inner .section-index{color:#7d6545}.contact-preface{margin:60px 0 15px;font-size:14px;font-weight:500;letter-spacing:.08em}.contact-inner h2{font-size:clamp(64px,10.8vw,170px);font-weight:850;letter-spacing:-.09em;line-height:1.1;white-space:nowrap}.contact-inner h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.09em;color:#9c8667}.contact-description{max-width:600px;margin:35px 0 34px;line-height:2.2;font-size:14px;color:#54574e}.contact-action{display:inline-flex;justify-content:space-between;gap:50px;padding:18px 0;border-bottom:1px solid #191b18;font-size:11px;font-weight:800;letter-spacing:.1em}.contact-action span{font-size:24px;line-height:1}.contact-action:hover{color:#8a6e45;border-color:#8a6e45}
.site-footer{padding:32px 0;background:#10110f}.footer-inner{display:flex;gap:18px;align-items:center;justify-content:space-between}.footer-logo{font-size:19px;font-weight:800;letter-spacing:-.045em}.footer-logo span{color:var(--accent)}.footer-inner>span,.back-top{font:10px monospace;letter-spacing:.1em;color:#848b81}.back-top{color:var(--ink)}.back-top:hover{color:var(--accent)}
/* Subpages */
.sub-hero{padding:200px 0 65px;min-height:615px;background:radial-gradient(ellipse 56% 60% at 90% 50%,rgba(128,100,67,.15),transparent),#151815}.sub-title{font-size:clamp(110px,17vw,270px);font-weight:800;letter-spacing:-.095em;line-height:.88;margin:42px 0 45px}.sub-title em{font-style:normal;color:var(--accent)}.sub-hero-bottom{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:28px}.sub-hero-bottom p{font-size:21px;font-weight:650;line-height:1.6;letter-spacing:.08em}.sub-hero-bottom span{font:10px monospace;letter-spacing:.14em;color:#a0a49a}.article-section{background:#1c201b;min-height:650px}.article-layout{display:grid;grid-template-columns:29% 1fr;gap:10%}.article-aside p{margin-top:40px;color:#818980;font-size:43px;font-weight:750;letter-spacing:-.04em;line-height:1.2}.article-main{max-width:720px}.article-main h2{font-size:clamp(29px,3.6vw,51px);line-height:1.6;letter-spacing:.07em;margin-bottom:45px}.article-main h3{font-size:25px;letter-spacing:.06em;margin:50px 0 20px}.article-main p{font-size:15px;color:#b0b8b0;letter-spacing:.055em;line-height:2.5;margin-bottom:23px}.article-main blockquote{border-left:3px solid var(--accent);padding:8px 0 8px 30px;font-size:23px;line-height:1.8;margin:58px 0;color:#e5ddd0}.article-points{padding-left:22px;color:#abb5aa;font-size:15px;line-height:2.8}.article-main .article-footnote{font-size:12px;margin-top:35px;color:#858c82}.journal-hero{min-height:565px}.journal-hero .sub-title{font-size:clamp(95px,14.2vw,220px)}.journal-opening{max-width:730px;margin-bottom:80px}.journal-opening h2{font-size:clamp(35px,5vw,72px);letter-spacing:.04em;line-height:1.35;margin:20px 0 30px}.journal-opening p{font-size:15px;color:#b3b9ae;line-height:2.4;margin:13px 0}.journal-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.journal-category{min-height:305px;border:1px solid var(--line);padding:30px 30px;display:flex;flex-direction:column}.journal-category span{font:11px monospace;letter-spacing:.12em;color:var(--accent)}.journal-category h3{font-size:30px;font-weight:650;letter-spacing:.05em;margin:40px 0 15px}.journal-category p{color:#afb7ac;font-size:13px;line-height:2}.journal-category small{margin-top:auto;padding-top:40px;color:#8d948b;font:10px monospace;letter-spacing:.1em}.journal-return{margin-top:55px}
@keyframes spin{to{transform:rotate(360deg)}}
.reveal{opacity:1}.js .reveal{opacity:0;translate:0 22px;transition:opacity .8s ease,translate .8s cubic-bezier(.22,1,.36,1)}.js .reveal.is-visible{opacity:1;translate:0 0}
@media(max-width:1170px){.wrap{width:min(100% - 72px,1380px)}.header-right{gap:26px}.header-context{display:none}.site-nav{gap:19px}.hero-title{font-size:20.6vw}.hero-art{transform:scale(.9);transform-origin:center}.section-top{grid-template-columns:23% 1fr}.field-card-content{padding-left:21px;padding-right:21px}.field-card-art{height:195px}.project-row{grid-template-columns:18% 1fr 25% 28px}.project-row strong small{display:block;width:100%}}
@media(max-width:800px){html{scroll-padding-top:72px}.wrap{width:min(100% - 40px,1380px)}.header-inner{height:70px}.wordmark-icon{width:32px;height:32px}.wordmark-name{font-size:16px}.menu-toggle{z-index:97;display:flex;position:relative;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid var(--line);border-radius:0;cursor:pointer}.menu-toggle span{display:block;width:19px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.site-nav{position:fixed;inset:70px 0 auto;background:#181b18;border-bottom:1px solid var(--accent);height:calc(100dvh - 70px);padding:45px 28px 80px;display:flex;flex-direction:column;align-items:flex-start;gap:30px;overflow:auto;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s,transform .25s,visibility .25s}.site-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.site-nav a{font-size:24px;letter-spacing:.035em}.site-nav .nav-contact{font-size:24px}.hero{padding-top:132px;min-height:800px}.hero-title{font-size:21vw}.hero-bottom{grid-template-columns:1fr 1fr;min-height:450px}.hero-art{transform:scale(.73);margin-left:-80px;pointer-events:none}.hero-copy{padding-top:25px}.hero-heading-jp{font-size:31px}.hero-description{font-size:13px}.hero-footer{gap:12px;font-size:9px}.hero-footer span:last-child{display:none}.section{padding:95px 0}.two-column{grid-template-columns:1fr;gap:30px}.section-heading{font-size:92px}.section-side-caption{margin-top:20px}.about-body{padding-top:0;max-width:100%}.section-top{display:block}.section-top .section-index{margin-bottom:25px}.display-heading{font-size:clamp(67px,10vw,110px)}.field-grid{grid-template-columns:1fr 1fr}.field-card:last-child{grid-column:1 / -1}.field-card{min-height:550px}.field-card:last-child{min-height:450px}.field-card:last-child .field-card-art{height:140px}.statement{padding:90px 0}.journey-list{margin-top:15px}.project-row{grid-template-columns:125px 1fr 24px;gap:15px}.project-desc{display:none}.journal-preview{grid-template-columns:1fr;gap:35px}.journal-topics{margin-bottom:10px}.contact-inner h2{font-size:10vw}.footer-inner{flex-wrap:wrap;gap:20px}.footer-inner>span:nth-child(2){display:none}.sub-hero{min-height:530px;padding-top:153px}.sub-title{font-size:17vw}.article-layout{grid-template-columns:1fr;gap:40px}.article-aside p{display:none}.journal-category-grid{grid-template-columns:1fr 1fr}.journal-category:last-child{grid-column:1/-1}.journal-category{min-height:240px}}
@media(max-width:540px){.wrap{width:min(100% - 36px,1380px)}.hero{min-height:910px;padding-top:130px}.hero-eyebrow{font-size:9px;letter-spacing:.1em}.hero-sequence{font-size:9px}.hero-title{font-size:21.25vw;margin-top:28px}.hero-bottom{grid-template-columns:1fr;min-height:655px;display:block}.hero-copy{padding-top:30px}.hero-heading-jp{font-size:32px}.hero-description{font-size:13px;margin-top:18px;line-height:2}.text-link{margin-top:20px}.hero-art{margin-top:-10px;height:310px;transform:scale(.73);transform-origin:center top;margin-left:0}.orbit-one{width:325px;height:325px}.orbit-two{width:255px;height:255px}.orbit-three{width:178px;height:178px}.orbit-center{font-size:112px}.orbit-note-top{top:3px;right:3px}.orbit-note-bottom{bottom:10px;left:0}.hero-footer{height:42px}.section{padding:78px 0}.section-heading{font-size:80px}.intro-lead{font-size:27px}.about-body p:not(.intro-lead){font-size:14px;line-height:2.35}.section-top{margin-bottom:38px}.display-heading{font-size:14.8vw}.section-summary{font-size:13px;margin-top:20px}.field-grid{grid-template-columns:1fr;gap:12px}.field-card:last-child{grid-column:auto;min-height:510px}.field-card{min-height:550px}.field-card-art{height:180px}.field-card:last-child .field-card-art{height:180px}.field-card h3{font-size:34px}.field-card-content{padding:15px 25px 25px}.field-card a{padding-top:15px}.statement{padding:87px 0}.statement-mark{font-size:57px}.statement p{font-size:37px}.statement-sub{font-size:9px;line-height:1.8}.journey-item{grid-template-columns:28px 1fr 16px;gap:12px;padding:28px 0}.journey-item h3{font-size:18px}.journey-item p{font-size:12px}.project-row{display:grid;grid-template-columns:1fr 26px;grid-template-rows:auto auto;gap:10px;padding:23px 2px}.project-index{grid-column:1;grid-row:1}.project-row strong{grid-column:1;grid-row:2;font-size:25px}.project-row strong small{font-size:11px}.project-arrow{grid-column:2;grid-row:2}.journal-topics div{grid-template-columns:40px 1fr;row-gap:0}.journal-topics small{grid-column:2;font-size:11px}.journal-topics strong{font-size:19px}.journal-intro h3{font-size:32px}.contact-section{padding:78px 0 85px}.contact-preface{font-size:12px;margin-top:50px}.contact-inner h2{font-size:10.4vw;letter-spacing:-.095em}.contact-description{font-size:13px}.site-footer{padding:30px 0}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-logo{grid-column:1}.footer-inner>span:nth-child(3){grid-column:1}.back-top{grid-column:2;grid-row:1;justify-self:end}.sub-hero{min-height:455px;padding-top:135px}.sub-title{font-size:18.3vw;margin-top:45px}.sub-hero-bottom p{font-size:17px}.sub-hero-bottom span{font-size:9px}.article-main h2{font-size:29px}.article-main p{font-size:14px;line-height:2.35}.article-main blockquote{font-size:19px;padding-left:20px}.journal-hero .sub-title{font-size:17.3vw}.journal-opening h2{font-size:36px}.journal-category-grid{grid-template-columns:1fr}.journal-category:last-child{grid-column:auto}.journal-category{min-height:240px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1!important;translate:none!important}}


/* Uichi identity and living-object motion, 2026-10-31 */
.wordmark-name{letter-spacing:.075em}
.hero-title{letter-spacing:-.085em}
.orbit-one{animation:uichiOrbitOuter 70s linear infinite}
.orbit-three{animation:uichiOrbitInner 43s linear infinite reverse}
.orbit-two:before{box-shadow:0 0 14px rgba(214,176,121,.65)}
.orbit-one:after{box-shadow:0 0 9px rgba(224,220,203,.55)}
@keyframes uichiOrbitOuter{to{transform:rotate(360deg)}}
@keyframes uichiOrbitInner{to{transform:rotate(360deg)}}
/* Each hair ellipse keeps its original skew while gently changing orientation. */
.art-hair div:nth-child(1){animation:uichiHairOne 22s ease-in-out infinite alternate}
.art-hair div:nth-child(2){animation:uichiHairTwo 29s ease-in-out infinite alternate}
.art-hair div:nth-child(3){animation:uichiHairThree 25s ease-in-out infinite alternate}
@keyframes uichiHairOne{from{transform:rotate(60deg) scaleX(.55)}to{transform:rotate(105deg) scaleX(.62)}}
@keyframes uichiHairTwo{from{transform:rotate(0deg) scaleX(.55)}to{transform:rotate(-42deg) scaleX(.50)}}
@keyframes uichiHairThree{from{transform:rotate(120deg) scaleX(.55)}to{transform:rotate(162deg) scaleX(.63)}}
.art-code{animation:uichiCodeHover 9s ease-in-out infinite}
.art-code span{display:block;animation:uichiCodeLine 7s ease-in-out infinite}
.art-code span:nth-child(2){animation-delay:-2.4s}
.art-code span:nth-child(3){animation-delay:-4.8s}
@keyframes uichiCodeHover{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(-4deg)}}
@keyframes uichiCodeLine{0%,100%{opacity:.86;translate:0 0}50%{opacity:1;translate:5px -3px}}
.life-circle-one{animation:uichiLifeOne 12s ease-in-out infinite alternate}
.life-circle-two{animation:uichiLifeTwo 15s ease-in-out infinite alternate}
.life-circle-three{animation:uichiLifeThree 13s ease-in-out infinite alternate}
@keyframes uichiLifeOne{from{transform:translate(0,0) scale(1)}to{transform:translate(11px,-11px) scale(1.055)}}
@keyframes uichiLifeTwo{from{transform:translate(0,0) scale(1)}to{transform:translate(-11px,8px) scale(.96)}}
@keyframes uichiLifeThree{from{transform:translate(0,0) scale(1)}to{transform:translate(7px,12px) scale(1.035)}}
@media(max-width:540px){
 .art-hair div:nth-child(1),.art-hair div:nth-child(2),.art-hair div:nth-child(3),
 .life-circle,.art-code,.art-code span{animation-duration:20s}
}
@media(prefers-reduced-motion:reduce){
 .orbit-one,.orbit-three,.art-hair div,.art-code,.art-code span,.art-life .life-circle{animation:none!important}
 .art-code span{translate:none!important}
}


/* EVA official wordmark: lightweight transparent 2x WebP, preserved proportions */
.project-row .eva-project-title{align-items:center;gap:10px}
.project-row .eva-project-logo{display:block;width:clamp(78px,7.3vw,92px);height:auto;flex:none;object-fit:contain}
.project-row .eva-project-title small{letter-spacing:.08em}
@media(max-width:1170px){.project-row .eva-project-title small{width:100%}}
@media(max-width:540px){.project-row .eva-project-logo{width:80px}}


/* Uichi header gold dot: restrained motion; logo geometry unchanged */
/* A small traveling gold bead traces the existing square logo frame. */
.wordmark .brand-dot{animation:none}
.wordmark-icon{position:relative}
.wordmark-icon::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 5px rgba(214,176,121,.6);left:0;top:0;transform:translate(-50%,-50%);pointer-events:none;animation:uichiFrameOrbit 9s linear infinite}
@keyframes uichiFrameOrbit{
0%{left:0;top:0}
25%{left:100%;top:0}
50%{left:100%;top:100%}
75%{left:0;top:100%}
100%{left:0;top:0}
}
@media(prefers-reduced-motion:reduce){.wordmark-icon::after{animation:none;left:100%;top:0}}



/* Header miniaturizes the hero's circular U orbit, without a square frame. */
.wordmark-icon{border-radius:50%;border-color:rgba(214,176,121,.7)}
.wordmark-icon::after{width:4px;height:4px;animation:uichiRoundOrbit 11s linear infinite}
@keyframes uichiRoundOrbit{
0%{left:50%;top:0}
12.5%{left:85.355%;top:14.645%}
25%{left:100%;top:50%}
37.5%{left:85.355%;top:85.355%}
50%{left:50%;top:100%}
62.5%{left:14.645%;top:85.355%}
75%{left:0;top:50%}
87.5%{left:14.645%;top:14.645%}
100%{left:50%;top:0}
}
@media(prefers-reduced-motion:reduce){.wordmark-icon::after{animation:none;left:50%;top:0}}


/* Header uses the same actual DOM and CSS orbits as the hero, proportionally scaled. */
.wordmark .header-orbit-icon{position:relative;display:block;width:48px;height:48px;border:0;border-radius:0;flex:none;overflow:visible}
.wordmark .header-orbit-icon::after{content:none;animation:none}
.wordmark .header-orbit-scaled{position:absolute;left:50%;top:50%;width:420px;height:420px;display:grid;place-items:center;transform:translate(-50%,-50%) scale(.112);transform-origin:center;pointer-events:none;isolation:isolate}
.wordmark .header-orbit-scaled .orbit{display:block;box-sizing:border-box;position:absolute}
.wordmark .header-orbit-scaled .orbit-one{width:365px;height:365px}
.wordmark .header-orbit-scaled .orbit-two{width:285px;height:285px}
.wordmark .header-orbit-scaled .orbit-three{width:203px;height:203px}
.wordmark .header-orbit-scaled .orbit-center{font-size:132px;font-weight:800;line-height:1;letter-spacing:-.13em;padding-right:18px;white-space:nowrap}
.wordmark .header-orbit-scaled .orbit-center span{font-size:75px;color:var(--accent)}
@media(max-width:800px){
 .wordmark .header-orbit-icon{width:43px;height:43px}
 .wordmark .header-orbit-scaled{transform:translate(-50%,-50%) scale(.10)}
}
@media(max-width:540px){
 .wordmark .header-orbit-scaled .orbit-one{width:365px;height:365px}
 .wordmark .header-orbit-scaled .orbit-two{width:285px;height:285px}
 .wordmark .header-orbit-scaled .orbit-three{width:203px;height:203px}
 .wordmark .header-orbit-scaled .orbit-center{font-size:132px}
}
@media(prefers-reduced-motion:reduce){
 .wordmark .header-orbit-scaled .orbit{animation:none!important}
}


/* Contact: a small spark travels when approached, accessible mailto preserved. */
.contact-spark{position:relative;align-items:center;gap:18px;white-space:nowrap}
.contact-spark .spark-symbol{display:inline-block;color:#aa824a;font-size:22px;line-height:1;animation:uichiSparkIdle 5s ease-in-out infinite}
.contact-spark .spark-arrow{display:inline-block;font-size:20px;transition:transform .35s}
.contact-spark:is(:hover,:focus-visible) .spark-symbol{animation:uichiSparkSend .75s ease-out both}
.contact-spark:is(:hover,:focus-visible) .spark-arrow{transform:translate(3px,-3px)}
@keyframes uichiSparkIdle{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(35deg) scale(1.17)}}
@keyframes uichiSparkSend{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(18px,-18px) rotate(100deg);opacity:.2}}
/* All three My Fields objects use the full desktop motion on mobile too. */
@media(max-width:540px){
 .art-hair div:nth-child(1){animation-duration:22s}
 .art-hair div:nth-child(2){animation-duration:29s}
 .art-hair div:nth-child(3){animation-duration:25s}
 .art-code{animation-duration:9s}
 .art-code span{animation-duration:7s}
 .life-circle-one{animation-duration:12s}
 .life-circle-two{animation-duration:15s}
 .life-circle-three{animation-duration:13s}
}
@media(prefers-reduced-motion:reduce){.contact-spark .spark-symbol{animation:none}.contact-spark .spark-arrow{transition:none}}


/* Header mark: the original three-orbit hero, with visible orbiting lights. */
.wordmark .header-orbit-scaled .orbit-one:after{width:13px;height:13px;background:#eee8d9;box-shadow:0 0 14px 4px rgba(232,224,201,.85)}
.wordmark .header-orbit-scaled .orbit-two:before{width:19px;height:19px;background:var(--accent);box-shadow:0 0 22px 7px rgba(214,176,121,.9)}
.wordmark .header-orbit-scaled .orbit-one{animation-duration:18s}
.wordmark .header-orbit-scaled .orbit-two{animation-duration:14s}
.wordmark .header-orbit-scaled .orbit-three{animation-duration:20s}
.wordmark .header-orbit-scaled .orbit{border-width:2.5px}
.wordmark .header-orbit-scaled .orbit-two{border-width:2.5px}
.wordmark-name{font-size:clamp(20px,2vw,25px);font-weight:850;letter-spacing:-.065em;line-height:1}
.wordmark-period{color:var(--accent)}
@media(max-width:800px){.wordmark-name{font-size:22px}}
@media(prefers-reduced-motion:reduce){.wordmark .header-orbit-scaled .orbit{animation:none!important}}
