@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=Noto+Sans+JP:wght@400;500&family=Shippori+Mincho:wght@500&display=swap";:root{--color-bg:#f7f5ef;--color-text:#2d2d2d;--color-muted:#66645e;--color-green-main:#3f6b4f;--color-green-dark:#2e513a;--color-green-soft:#eef4ec;--color-accent:#789b5f;--color-border:#d8d5cc;--font-sans:"DM Sans", "Noto Sans JP", sans-serif;--font-serif:"Shippori Mincho", "Yu Mincho", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.8}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}.site-header,.site-footer,.section-shell{width:min(1240px,100% - 80px);margin-inline:auto}.site-header{z-index:10;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:86px;display:flex;position:relative}.brand{color:var(--color-green-dark);letter-spacing:.02em;align-items:center;gap:10px;font-size:16px;font-weight:500;display:flex}.brand-mark{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.4px;width:27px}nav{letter-spacing:.08em;gap:clamp(22px,3vw,42px);font-size:12px;display:flex}.header-tools{align-items:center;gap:clamp(24px,3vw,42px);display:flex}.language-switch{border:1px solid var(--color-border);min-width:34px;color:var(--color-green-dark);letter-spacing:.12em;text-align:center;padding:4px 7px;font-size:9px;transition:border-color .18s,color .18s}.language-switch:hover{border-color:var(--color-green-main);color:var(--color-accent)}nav a,.contact-links a{transition:color .18s}nav a:hover,.contact-links a:hover{color:var(--color-green-main)}.hero{flex-direction:column;justify-content:flex-start;min-height:min(780px,100vh - 86px);padding:58px 0 36px;display:flex}.hero-kicker,.work-topline{color:var(--color-muted);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;font-size:10px;display:flex}.hero-main{grid-template-columns:minmax(260px,.8fr) minmax(500px,1.35fr);align-items:end;gap:7vw;padding:70px 0 90px;display:grid}.eyebrow,.section-number,.meta{color:var(--color-green-main);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:500}.eyebrow{align-self:start;padding-top:11px}h1,h2{font-family:var(--font-serif);letter-spacing:-.035em;font-weight:500}h1{grid-column:2;font-size:clamp(36px,4.3vw,58px);line-height:1.5}html:lang(en) h1,html:lang(en) h2,html:lang(en) .work-content h3,html:lang(en) .journal-entry h3,html:lang(en) .freelance-body .lead{font-family:Georgia,Times New Roman,serif}html:lang(en) h1{letter-spacing:-.045em;max-width:760px;line-height:1.18}.hero-copy{max-width:650px;color:var(--color-muted);grid-column:2;grid-template-columns:1fr 1.2fr;gap:34px;margin-top:8px;font-size:13px;line-height:2;display:grid}.hero-links{flex-wrap:wrap;grid-column:2;gap:32px;margin-top:10px;display:flex}.text-link{width:fit-content;color:var(--color-green-dark);border-bottom:1px solid var(--color-green-main);letter-spacing:.04em;font-size:12px;font-weight:500;transition:color .18s,padding .18s}.text-link span{margin-left:12px}.text-link:hover{color:var(--color-accent);padding-left:3px}.muted-link{color:var(--color-muted);border-color:var(--color-border)}.section{border-top:1px solid var(--color-border);padding:140px 0}.section-header{grid-template-columns:1fr 1fr;align-items:end;margin-bottom:65px;display:grid}.section-header h2,.freelance h2,.contact h2{margin-top:16px;font-size:clamp(31px,3.3vw,45px);line-height:1.5}.section-header>p{max-width:360px;color:var(--color-muted);font-size:13px}.works-grid{grid-template-columns:repeat(2,1fr);gap:76px 28px;display:grid}.work-card{border-top:1px solid var(--color-text)}.work-topline{padding:12px 2px}.status{align-items:center;gap:8px;display:flex}.status i{background:var(--color-accent);border-radius:50%;width:6px;height:6px}.work-visual{aspect-ratio:16/9.2;background:var(--color-green-soft);color:var(--color-green-main);place-items:center;display:grid;position:relative;overflow:hidden}.work-visual img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.work-image-filtered{filter:grayscale()sepia(.38)hue-rotate(72deg)saturate(1.15)contrast(.94)brightness(.98)}.work-image-original{opacity:0;transition:opacity .22s}.work-image-link{width:100%;height:100%;display:block;position:relative}.work-visual:hover .work-image-original,.work-image-link:focus-visible .work-image-original{opacity:1}.work-placeholder{place-items:center;display:grid;position:absolute;inset:0}.work-placeholder>span:last-child{color:var(--color-muted);letter-spacing:.14em;text-transform:uppercase;font-size:8px;position:absolute;bottom:18px;right:20px}.work-card:nth-child(3n+2) .work-visual{background:#e8ece2}.work-card:nth-child(3n) .work-visual{background:#edf0e9}.work-placeholder:before,.work-placeholder:after{content:"";border:1px solid #3f6b4f2e;border-radius:50%;position:absolute}.work-placeholder:before{aspect-ratio:1;width:50%}.work-placeholder:after{aspect-ratio:1;width:30%}.work-content{grid-template-columns:.9fr 1.1fr;gap:24px;padding-top:25px;display:grid}.work-content h3,.journal-entry h3{font-family:var(--font-serif);margin-top:8px;font-size:24px;font-weight:500}.work-content h3{margin-top:0}.work-content>p,.journal-copy p,.freelance-body>p,.contact-main p{color:var(--color-muted);font-size:13px}.work-detail-link{width:fit-content;color:var(--color-muted);letter-spacing:.06em;grid-column:2;margin-top:8px;font-size:10px;transition:color .18s}.work-detail-link span{color:var(--color-accent);margin-left:9px}.work-detail-link:hover{color:var(--color-green-dark)}.journal-list{border-top:1px solid var(--color-text)}.journal-entry{border-bottom:1px solid var(--color-border);grid-template-columns:.65fr 1.55fr;gap:35px;padding:34px 0 38px;display:grid;position:relative}.journal-meta{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;gap:20px;font-size:10px;display:flex}.journal-meta span{color:var(--color-green-main)}.journal-entry h3{margin:0 0 9px;font-size:20px}.journal-detail-link{color:var(--color-muted);letter-spacing:.06em;margin-top:13px;font-size:10px;transition:color .18s;display:inline-block}.journal-detail-link span{color:var(--color-accent);margin-left:8px}.journal-detail-link:hover{color:var(--color-green-dark)}.section-more{justify-content:flex-end;margin-top:46px;display:flex}.archive-page{min-height:calc(100vh - 191px);padding:100px 0 140px}.archive-header{max-width:720px;margin-bottom:80px}.archive-header h1{margin:14px 0 20px;font-size:clamp(42px,5vw,68px)}.archive-header>p:last-child{color:var(--color-muted);font-size:13px}.freelance{grid-template-columns:1fr 1fr;gap:8vw;display:grid}.freelance-body{max-width:570px;padding-top:32px}.freelance-body .lead{color:var(--color-text);font-family:var(--font-serif);margin-bottom:22px;font-size:18px;line-height:2}.skills{flex-wrap:wrap;gap:8px;margin:37px 0 32px;display:flex}.skills span{border:1px solid var(--color-border);color:var(--color-green-dark);letter-spacing:.04em;border-radius:999px;padding:6px 12px;font-size:10px}.contact{background:var(--color-green-dark);color:var(--color-bg);margin-top:20px;padding:100px 7vw 45px}.contact .section-number{color:#b2c7aa}.contact-main{grid-template-columns:1fr 1fr;align-items:end;gap:50px;padding:45px 0 95px;display:grid}.contact-main p{color:#c7cec4;max-width:400px;margin-top:22px}.contact-main p+p{margin-top:6px}.email-link{border-bottom:1px solid #f7f5ef8c;justify-content:space-between;padding:14px 0;font-size:clamp(18px,2.2vw,28px);display:flex}.email-link:hover{color:#c3d7bb}.contact-links{color:#c7cec4;letter-spacing:.08em;border-top:1px solid #f7f5ef33;gap:40px;padding-top:26px;font-size:10px;display:flex}.contact-links span{margin-left:10px}.site-footer{min-height:105px;color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;grid-template-columns:1fr 1fr;align-items:center;font-size:9px;display:grid}.site-footer a{justify-self:end}@media (width<=760px){.site-header,.site-footer,.section-shell{width:min(100% - 40px,620px)}.site-header{min-height:72px}.brand{font-size:14px}nav{display:none}.header-tools{gap:0}.hero{min-height:calc(100svh - 72px);padding:28px 0}.hero-main{padding:70px 0;display:block}.eyebrow{margin-bottom:24px}h1{font-size:clamp(30px,8.1vw,40px);line-height:1.55}h1 br{display:none}.hero-copy{margin-top:40px;display:block}.hero-copy>p+p{margin-top:13px}.hero-links{margin-top:26px}.section{padding:95px 0}.archive-page{padding:70px 0 100px}.archive-header{margin-bottom:50px}.section-header,.freelance,.contact-main{grid-template-columns:1fr}.section-header{gap:20px;margin-bottom:42px}.section-header h2,.freelance h2,.contact h2{font-size:31px}.works-grid{grid-template-columns:1fr;gap:70px}.work-content{grid-template-columns:1fr}.work-detail-link{grid-column:1}.journal-entry{grid-template-columns:1fr;gap:20px}.journal-meta{grid-column:1/-1}.freelance{gap:28px}.freelance-body{padding-top:0}.contact{width:calc(100% - 20px);padding:70px 24px 32px}.contact-main{gap:45px;padding:35px 0 70px}.contact-links{flex-wrap:wrap;gap:16px 28px}.site-footer{grid-template-columns:1fr 1fr;min-height:130px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
