:root{font-family:Arial,'Helvetica Neue','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:#242421;background:#fff;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,#stage:focus-visible{outline:2px solid #aa382e;outline-offset:4px}.concept-bar{height:42px;display:flex;align-items:center;justify-content:space-between;background:#f4f3ef;border-bottom:1px solid #deddd7;padding:0 3%;font-size:10px;letter-spacing:.06em;position:relative;z-index:3}.concept-bar>div{display:flex;gap:6px}.concept-bar>div a{padding:6px 10px;border:1px solid transparent}.concept-bar [aria-current]{border-color:#23231f;background:#fff}.site-header{padding:30px 4%;display:flex;justify-content:space-between;align-items:center}.identity{font-weight:600;font-size:15px;letter-spacing:.09em}.identity span{font-weight:400;display:block;font-size:8px;letter-spacing:.18em;margin-top:5px}nav{display:flex;gap:30px;font-size:10px;letter-spacing:.1em}main{padding:0 4%;max-width:1800px;margin:auto}.hero{position:relative;margin-bottom:100px}h1,h2,h3,p{margin:0}h2{font-size:20px;font-weight:500;letter-spacing:.015em}h3{font-size:13px;font-weight:500}p{line-height:1.9}.section-title{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 0;border-top:1px solid #bbbcb5;margin-bottom:12px}.section-title>span{font-size:9px;letter-spacing:.1em;color:#74766e}.section-title h2 span{font-size:14px}.pdf-section{scroll-margin-top:20px;margin-bottom:90px}.viewer{border:1px solid #dedfd9;background:#f1f1ed}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#fff;border-bottom:1px solid #dedfd9}.toolbar>div{display:flex;align-items:center;gap:9px}button{border:1px solid #deded7;background:#fff;color:#252825;border-radius:2px;min-width:34px;min-height:34px;padding:5px 9px;cursor:pointer}button:hover{background:#efefea}button:disabled{opacity:.3;cursor:default}input{width:38px;border:0;text-align:center;font:inherit;background:transparent}label,output{font-size:12px;white-space:nowrap}#stage{height:min(74vh,820px);min-height:280px;overflow:auto;display:flex;align-items:flex-start;position:relative;padding:24px}canvas{display:block;margin:auto;box-shadow:0 3px 16px #00000012}#status{position:absolute;inset:45% 15px auto;text-align:center;font-size:13px}#status:empty{display:none}.pdf-foot{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#72766e;margin-top:12px;line-height:1.8}.movies{display:grid;grid-template-columns:1fr 1fr;gap:28px}video{display:block;width:100%;aspect-ratio:2/1;background:#f0f0ec;object-fit:contain}.movies h3{margin-top:17px;letter-spacing:.04em}.movie-section{margin-bottom:90px;scroll-margin-top:20px}footer{border-top:1px solid #ddd;padding:30px 4%;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.1em;color:#767b72}.reference{border-top:1px solid #ddd;padding:20px 0;margin-bottom:30px;font-size:11px;color:#777}.reference summary{cursor:pointer}.reference p{margin-top:12px}.reference a{text-decoration:underline}.viewer:fullscreen,.viewer.expanded{background:#f1f1ed;display:flex;flex-direction:column}.viewer:fullscreen #stage,.viewer.expanded #stage{height:auto;flex:1}.viewer.expanded{position:fixed;inset:0;z-index:1000}body.viewer-open{overflow:hidden}.card-label{display:flex;justify-content:space-between;gap:10px;margin-top:14px;align-items:start}.card-label span{font-size:8px;letter-spacing:.05em;color:#73736d}.work-image{position:relative;overflow:hidden;background:#ecece6}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.work-card:hover img{transform:scale(1.025)}.work-card:hover .open-arrow{background:#fff;color:#111}.open-arrow{position:absolute;bottom:14px;right:14px;font-size:18px;display:grid;place-items:center;width:30px;height:30px;background:#ffffffdf}.eyebrow{font-size:9px;letter-spacing:.16em}.text-link{font-size:11px;border-bottom:1px solid;padding:0 0 8px;display:inline-block}
/* 01 — compact image index */
.d1 .site-header{border-bottom:1px solid #ddd}.d1 .identity span{display:inline;margin-left:24px}.index-intro{display:flex;align-items:end;justify-content:space-between;padding:56px 0 48px}.index-intro h1{font-size:clamp(30px,4.4vw,70px);font-weight:400;letter-spacing:-.045em}.index-intro p{font-size:11px}.small-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;padding:15px 0}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}.work-grid .work-image{aspect-ratio:1.45}.d1 .card-label{display:block}.d1 .card-label span{display:block;margin-top:7px}
/* 02 — editorial, asymmetric spread */
.d2{background:#fcfbf8;color:#342e27}.d2 main{padding:0 8%}.d2 .identity{font-family:Georgia,serif;font-weight:400;letter-spacing:.02em}.editorial-head{position:relative;min-height:720px;padding:45px 0 40px}.editorial-head h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:400;font-size:clamp(32px,4.2vw,68px);letter-spacing:.08em;line-height:1.7;margin-top:36px;position:relative;z-index:1}.editorial-head h1 em{font-style:normal;color:#846d52}.editorial-image{position:absolute;right:0;top:140px;width:53%}.editorial-image img{width:100%;aspect-ratio:1.08;object-fit:cover}.editorial-image>span{display:block;font-size:8px;letter-spacing:.09em;margin-top:15px}.editorial-note{font-size:11px;margin-top:80px;margin-bottom:32px}.d2 .section-title h2,.d2 .movies h3{font-family:'Yu Mincho',serif}.d2 .viewer{background:#efede7}
/* 03 — panoramic diptych */
.d3 .site-header{padding-top:26px;padding-bottom:26px}.d3 .identity{font-size:12px}.d3 .identity span{display:inline;margin-left:20px}.d3 main{padding:0}.gallery-hero{height:630px;position:relative;display:grid;grid-template-columns:1.6fr 1fr;gap:5px;isolation:isolate}.gallery-hero>a{overflow:hidden}.gallery-hero img{width:100%;height:100%;object-fit:cover}.gallery-large img{object-position:50% 50%}.gallery-small img{object-position:55% 50%}.gallery-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#0007);pointer-events:none;z-index:0}.gallery-hero h1{font-family:Georgia,serif;position:absolute;bottom:65px;left:5%;color:#fff;font-size:clamp(55px,7.5vw,120px);font-weight:400;line-height:.95;letter-spacing:-.04em;pointer-events:none;z-index:1}.gallery-hero h1 i{font-weight:400}.gallery-caption{position:absolute;bottom:23px;left:5%;right:5%;display:flex;justify-content:space-between;color:#fff;font-size:9px;letter-spacing:.1em;z-index:1}.gallery-desc{display:flex;justify-content:space-between;align-items:center;padding:28px 5%}.gallery-desc p{font-family:'Yu Mincho',serif;font-size:19px;letter-spacing:.1em}.gallery-desc span{font-size:9px;letter-spacing:.1em}.d3 .pdf-section,.d3 .movie-section,.d3 .reference{margin-left:5%;margin-right:5%}
/* 04 — oversized identity and rules */
.d4{color:#253936}.d4 .site-header{padding-top:22px;padding-bottom:22px;border-bottom:2px solid #253936}.d4 .identity{font-size:11px}.d4 .identity span{display:none}.type-meta{display:flex;justify-content:space-between;font-size:9px;line-height:1.5;letter-spacing:.08em;padding:26px 0}.type-hero h1{font-family:Arial,sans-serif;font-size:clamp(80px,16.5vw,250px);line-height:.82;letter-spacing:-.085em;font-weight:600;position:relative;padding:25px 0 20px}.type-hero h1>span{display:inline-block;margin-left:21%}.type-hero h1 sup{font-size:24px;vertical-align:top;letter-spacing:0;margin-left:20px}.type-bottom{display:flex;justify-content:space-between;align-items:end;border-top:2px solid;margin-top:18px;padding:23px 0 38px}.type-bottom p{font-size:14px;letter-spacing:.04em}.type-bottom a{font-size:10px}.type-bottom a span{display:inline-block;margin-left:40px;font-size:40px}.type-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.type-strip .work-image{aspect-ratio:1.6}.d4 .section-title{border-top:2px solid #253936}.d4 .card-label{display:block}.d4 .card-label span{display:block;margin-top:6px}
/* 05 — arranged work table */
.d5 main{padding:0 5%}.d5 .identity{font-family:Georgia,serif;font-weight:400}.table-hero{min-height:740px;position:relative;padding-top:30px}.table-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(72px,12vw,180px);letter-spacing:-.055em;line-height:.87;margin-top:35px;position:relative;z-index:2;pointer-events:none}.little-star{font-family:Arial,sans-serif;display:inline-block;font-size:.4em;vertical-align:top;margin-left:20px;color:#a13e30}.paper{position:absolute;background:#fff;padding:10px 10px 24px;box-shadow:0 10px 25px #3434241c;border:1px solid #e6e4de}.paper img{width:100%;height:100%;object-fit:cover}.paper a{display:block;height:calc(100% - 8px)}.paper>span{font-size:7px;letter-spacing:.1em;display:block;margin-top:10px}.paper-a{width:34%;height:275px;right:5%;top:65px;transform:rotate(6deg)}.paper-b{width:32%;height:230px;left:18%;top:365px;transform:rotate(-7deg);z-index:2}.paper-c{width:24%;height:240px;right:2%;top:375px;transform:rotate(9deg)}.table-foot{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:end}.table-foot p{font-size:11px;line-height:1.9}.table-foot a{font-size:10px;border-bottom:1px solid;padding-bottom:9px}.d5 .section-title h2{font-family:Georgia,serif}
@media(min-width:1600px){.gallery-hero{height:760px}}
@media(max-width:700px){.concept-bar{padding:0 4%;font-size:9px}.concept-bar>span{display:none}.site-header{padding:24px 5%}nav{gap:18px}.identity{font-size:12px}.hero{margin-bottom:60px}main{padding:0 5%}.index-intro{display:block;padding:28px 0 25px}.index-intro p{margin-top:18px;font-size:10px}.d1 .identity span{display:block;margin-left:0}.work-grid{grid-template-columns:1fr 1fr;gap:25px 14px}.work-grid .work-image{aspect-ratio:1.15}.card-label h3{font-size:10px}.card-label span{font-size:7px}.open-arrow{bottom:8px;right:8px;width:23px;height:23px;font-size:15px}.section-title{display:block;padding-top:20px}.section-title>span{display:block;margin-top:12px;font-size:8px}h2{font-size:16px}.section-title h2 span{font-size:12px}.toolbar{padding:8px;flex-wrap:wrap;justify-content:center}.toolbar>div{gap:6px}#stage{padding:10px;height:54vh}.pdf-foot{display:block;font-size:9px}.pdf-foot a{display:block;margin-top:5px}.pdf-section,.movie-section{margin-bottom:55px}.movies{grid-template-columns:1fr;gap:30px}.movies h3{font-size:12px}.reference{font-size:10px}footer{font-size:8px}.editorial-head{min-height:0;padding-top:20px}.editorial-head h1{font-size:34px;margin-top:24px;letter-spacing:.06em}.editorial-image{position:relative;top:auto;right:auto;width:90%;margin:26px 0 0 auto}.editorial-image img{aspect-ratio:1.35}.editorial-note{margin-top:27px;font-size:10px}.d2 main{padding:0 7%}.gallery-hero{height:490px;grid-template-columns:1.6fr 1fr;gap:3px}.gallery-hero h1{font-size:60px;bottom:60px}.gallery-caption{font-size:7px;gap:20px}.gallery-caption>a{max-width:120px;text-align:right;line-height:1.5}.gallery-desc{display:block}.gallery-desc p{font-size:16px}.gallery-desc span{display:block;margin-top:15px;font-size:8px}.d3 .identity span{display:block;margin-left:0}.type-meta{font-size:7px}.type-hero h1{font-size:19vw;padding-top:20px}.type-hero h1>span{margin-left:10%}.type-hero h1 sup{font-size:12px;margin-left:12px}.type-bottom p{font-size:11px}.type-bottom a{font-size:8px}.type-bottom a span{font-size:28px;margin-left:12px}.type-strip{grid-template-columns:1fr 1fr;gap:16px}.type-strip .work-card:last-child{display:none}.table-hero{min-height:650px;padding-top:18px}.table-hero h1{font-size:24vw;margin-top:36px}.table-hero .eyebrow{font-size:7px}.paper-a{width:60%;height:180px;top:225px;right:3%;transform:rotate(6deg)}.paper-b{width:50%;height:155px;top:350px;left:3%;transform:rotate(-9deg)}.paper-c{width:35%;height:160px;top:420px;right:0;transform:rotate(7deg)}.paper{padding:6px 6px 21px}.paper>span{font-size:5px}.table-foot p{font-size:9px}.table-foot a{font-size:8px}.little-star{margin-left:12px}.table-foot{align-items:center}.table-foot a{max-width:90px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
.works-help{font-size:10px;color:#73766d;margin-top:25px}.work-grid{row-gap:38px}.work-card{display:block}.work-image{aspect-ratio:1.45}#works{scroll-margin-top:20px}#pdf-dialog{border:0;padding:22px;width:min(1240px,94vw);max-width:none;max-height:96dvh;overflow:auto;color:#242421;background:#fff;box-shadow:0 20px 100px #0003}#pdf-dialog::backdrop{background:#171b17b3;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.dialog-heading h2{font-size:18px;margin-top:7px}.dialog-eyebrow{font-size:8px;letter-spacing:.15em;color:#777}#close-pdf{white-space:nowrap;font-size:11px}.pdf-foot{margin-top:12px}#pdf-dialog #stage{height:calc(90dvh - 190px);min-height:200px}#pdf-dialog .viewer:fullscreen #stage,#pdf-dialog .viewer.expanded #stage{height:auto;flex:1}body.dialog-open{overflow:hidden}#canvas[hidden]{display:none}@media(max-width:700px){#pdf-dialog{padding:12px;width:96vw;max-height:96dvh}.dialog-heading h2{font-size:14px}.dialog-heading{margin-bottom:12px}#pdf-dialog #stage{height:calc(90dvh - 200px)}.works-help{font-size:9px}.small-heading{font-size:8px}}

.version-bar{display:flex;justify-content:space-between;gap:15px;padding:12px 4%;font-size:10px;letter-spacing:.04em;background:#f1f2ec;border-bottom:1px solid #dddfd5;color:#4e5c44}.version-bar a{text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.version-bar{font-size:9px}}

.about-section{scroll-margin-top:25px;margin-bottom:90px}.about-intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding:26px 0 42px}.about-name>p{font-size:24px;letter-spacing:.035em;font-weight:500}.about-name>span{font-size:9px;letter-spacing:.1em;color:#73766d;display:block;margin-top:10px}.about-intro h3{font-size:23px;font-weight:400;letter-spacing:.035em;line-height:1.7;margin-bottom:20px}.about-intro>div>p{font-size:12px;line-height:2.15;color:#575c52;max-width:710px}.about-intro>div>p+p{margin-top:15px}.about-strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.about-strengths article{border-top:1px solid #cecec6;padding:20px 0}.strength-number{font-size:9px;letter-spacing:.08em;color:#767a6e}.about-strengths h3{font-size:15px;line-height:1.8;font-weight:500;margin:16px 0 12px}.about-strengths p{font-size:11px;line-height:2;color:#62675b}@media(max-width:700px){nav{gap:16px;font-size:9px}.about-section{margin-bottom:50px}.about-intro{grid-template-columns:1fr;gap:28px;padding:18px 0 30px}.about-name>p{font-size:21px}.about-intro h3{font-size:19px}.about-intro>div>p{font-size:11px}.about-strengths{grid-template-columns:1fr;gap:0}.about-strengths article{padding:20px 0}.about-strengths h3{font-size:14px;margin-top:12px}}
.about-intro .about-name>p{font-size:24px;color:#242421;line-height:1.5}@media(max-width:700px){.about-intro .about-name>p{font-size:21px}}

.records-section{scroll-margin-top:25px;margin-bottom:90px}.records-lead{font-size:12px;color:#62675b;margin:10px 0 36px}.records-list{border-top:1px solid #dedfd7}.record-spread{display:grid;grid-template-columns:190px minmax(0,1fr);gap:45px;padding:40px 0 55px;border-bottom:1px solid #dedfd7}.record-caption{align-self:start;position:sticky;top:25px;padding-top:12px}.record-number{font-size:9px;letter-spacing:.1em;color:#73776d}.record-caption h3{font-size:20px;font-weight:400;line-height:1.7;margin:18px 0}.record-caption p{font-size:11px;line-height:2;color:#73776d}.record-page{margin:0;background:#fff;border:1px solid #e2e3db;padding:12px;box-shadow:0 2px 10px #00000005}.record-page img{width:100%;height:auto;display:block}.record-spread:last-child{padding-bottom:40px}@media(min-width:1600px){.record-spread{grid-template-columns:240px minmax(0,1100px);justify-content:space-between}}@media(max-width:700px){nav{gap:12px;font-size:8px}.identity{font-size:11px}.identity span{font-size:7px}.records-section{margin-bottom:55px}.records-lead{font-size:10px;margin-bottom:22px}.record-spread{grid-template-columns:1fr;gap:18px;padding:25px 0 30px}.record-caption{position:static;padding-top:0}.record-caption h3{font-size:17px;margin:10px 0 6px}.record-caption p{font-size:10px}.record-number{font-size:8px}.record-page{padding:5px}}@media(min-width:701px) and (max-width:1000px){.record-spread{grid-template-columns:145px minmax(0,1fr);gap:25px}.record-caption h3{font-size:17px}}

main>.about-section:first-child{padding-top:24px;margin-bottom:65px}main>.about-section:first-child+.hero{border-top:1px solid #bbbcb5}@media(max-width:700px){main>.about-section:first-child{padding-top:10px;margin-bottom:38px}}

.record-sheet{position:relative}.record-link{position:absolute;display:block;border-bottom:1px solid #a73135;cursor:pointer;transition:background .15s}.record-link:hover{background:#b02a281a}.record-link:focus-visible{outline:2px solid #a73135;outline-offset:3px;background:#ffffff80}
.native-record{display:grid;grid-template-columns:210px minmax(0,1fr);gap:60px;border-top:1px solid #d9dcd3;padding:42px 0 60px}.native-heading{align-self:start;position:sticky;top:30px}.native-heading>span{font-size:9px;letter-spacing:.1em;color:#73796d}.native-heading h3{font-size:24px;line-height:1.6;font-weight:400;margin:18px 0}.native-heading p{font-size:11px;color:#73796d;line-height:2}.native-content h4{font-size:10px;font-weight:400;letter-spacing:.14em;margin:32px 0 15px;color:#6a7064}.experience-list{list-style:none;padding:0;margin:0}.experience-list li{display:grid;grid-template-columns:65px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid #e7e8e2;font-size:12px;line-height:1.9}.experience-year{font-size:10px;color:#7c8275;font-variant-numeric:tabular-nums;padding-top:2px;letter-spacing:.03em}.experience-link{color:#a33e38;display:inline-flex;gap:12px;align-items:baseline;text-decoration:underline;text-decoration-color:#cda29b;text-underline-offset:4px}.experience-link:hover{color:#72221e}.experience-link>span{white-space:nowrap;font-size:13px}.experience-note{font-size:10px;color:#757c6c;margin-top:5px;line-height:1.9}.record-features{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 0 28px}.record-feature img{width:100%;aspect-ratio:1.7;object-fit:cover}.record-feature>span{display:block;font-size:10px;margin-top:10px;letter-spacing:.025em}.office-feature{margin:0 0 26px}.office-feature img{width:100%;max-height:340px;object-fit:cover;object-position:center}.office-feature figcaption{font-size:10px;color:#73796d;margin-top:10px}.native-content>.record-features:not(:first-child){margin-top:35px}@media(max-width:700px){.native-record{grid-template-columns:1fr;gap:24px;padding:27px 0 38px}.native-heading{position:static}.native-heading h3{font-size:21px;margin:10px 0}.native-heading p{font-size:10px}.experience-list li{grid-template-columns:48px minmax(0,1fr);gap:10px;font-size:11px;padding:13px 0}.experience-year{font-size:9px}.record-features{gap:14px;margin-bottom:22px}.record-feature>span{font-size:9px}.record-feature img{aspect-ratio:1.35}.experience-link{gap:5px}.office-feature img{max-height:250px}}
.experience-list li{font-size:14px}.experience-year{font-size:11px}.native-heading p{font-size:12px}.experience-note{font-size:11px}@media(max-width:700px){.experience-list li{font-size:13px}.experience-year{font-size:10px}.native-heading p{font-size:11px}}
.experience-photos{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:13px 0 5px}.experience-photos img{width:auto;max-width:165px;height:105px;object-fit:contain;object-position:left top;background:#f7f7f3}.native-content>.experience-list:first-child{margin-top:0}@media(max-width:700px){.experience-photos{gap:8px}.experience-photos img{height:78px;max-width:125px}}
.experience-strip{margin:18px 0 8px;width:100%}.experience-strip img{display:block;width:100%;height:auto;max-width:none;background:#e5e5e5}

/* Shared section headings and clearer personal identity. */
.d1 .site-header .identity{font-size:22px;letter-spacing:.075em}.d1 .site-header .identity span{font-size:9px;margin-left:24px}.about-section:first-child{border-top:1px solid #bbbcb5}.about-name h2,.index-intro .works-title{font-size:20px;font-weight:500;letter-spacing:.015em;line-height:1.7;margin:0}.about-name h2 span,.index-intro .works-title span{font-size:14px}.about-intro .about-name{padding-top:2px}.about-intro{padding-top:26px}.index-intro{align-items:center;padding:32px 0 22px}.index-intro p{font-size:11px}@media(max-width:700px){.d1 .site-header .identity{font-size:16px}.d1 .site-header .identity span{font-size:7px;margin-left:0}.site-header{gap:15px;flex-wrap:wrap}.about-name h2,.index-intro .works-title{font-size:16px}.about-name h2 span,.index-intro .works-title span{font-size:12px}.about-intro{padding-top:20px}.index-intro{padding:24px 0 16px}}
