@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@400;500;600&display=swap";
:root{--bg:#f7f8f5;--paper:#eef1eb;--ink:#17231d;--muted:#5f6d64;--sage:#6e8a75;--edge:#d8ded7;--deep:#19241e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{color:#142319;background:#becfc0}.wrap{width:min(1280px,100% - 84px);margin-inline:auto}.progress{z-index:200;transform-origin:0;background:#6d8f77;height:2px;position:fixed;inset:0 0 auto}.nav{z-index:100;-webkit-backdrop-filter:blur(24px);background:#f7f8f5c7;border-bottom:1px solid #788a7b29;height:78px;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:25px;height:100%;display:flex}.logo{letter-spacing:-.03em;align-items:center;gap:13px;font-size:16px;font-weight:700;display:flex}.logo span:first-child{letter-spacing:0;font-family:Noto Serif JP,serif;font-size:25px;font-weight:500}.nav-links{color:#55655a;gap:33px;font-size:13px;font-weight:600;display:flex}.nav-links a,.nav-github{transition:color .25s}.nav-links a:hover,.nav-github:hover{color:#8baa8f}.nav-actions{align-items:center;gap:20px;display:flex}.nav-github{align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.nav-toggle{cursor:pointer;color:var(--ink);background:0 0;border:0;display:none}.hero{padding-top:94px}.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:center;gap:clamp(40px,7vw,120px);min-height:565px;display:grid}.hero-copy{padding-bottom:40px}.hero-japanese{letter-spacing:.09em;color:#78927d;font-family:Noto Serif JP,serif;font-size:39px}.hero h1{letter-spacing:-.085em;margin:19px 0 33px;font-size:clamp(76px,9vw,145px);font-weight:700;line-height:.98}.hero h1 span{color:#8ba48c}.hero-lead{letter-spacing:-.04em;max-width:780px;margin:0;font-size:clamp(23px,2.6vw,39px);line-height:1.35}.hero-description{color:#718076;max-width:525px;margin:21px 0 34px;font-size:16px;line-height:1.75}.hero-buttons{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button{border-radius:14px;justify-content:center;align-items:center;gap:13px;min-height:51px;padding:0 22px;font-size:13px;font-weight:700;transition:transform .28s,box-shadow .28s,background .28s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-dark{color:#fff;background:var(--ink);box-shadow:0 9px 25px #17231d18}.button-dark:hover{box-shadow:0 15px 35px #17231d30}.button-ghost{border:1px solid var(--edge);color:var(--ink);background:#fff}.portrait-wrap{justify-self:end;width:100%;max-width:410px}.portrait{aspect-ratio:1;background:#e2e8df;border:1px solid #cbd8ca;border-radius:32px;padding:16px;position:relative;overflow:hidden;box-shadow:0 34px 65px #243d2b1f}.portrait img{object-fit:cover;border-radius:22px;width:100%;height:100%;display:block}.portrait-sheen{pointer-events:none;background:linear-gradient(135deg,#ffffff65,#0000 40%);position:absolute;inset:0}.portrait-caption{justify-content:space-between;gap:12px;padding:17px 3px;font-size:13px;font-weight:700;display:flex}.portrait-caption span:last-child{color:#728b76;font-family:Noto Serif JP,serif;font-size:15px;font-weight:400}.hero-bottom{border-top:1px solid var(--edge);color:#7a877e;justify-content:space-between;gap:25px;margin-top:25px;padding:22px 0 38px;font-size:12px;display:flex}.hero-bottom a{color:#283e30;align-items:center;gap:8px;font-weight:700;display:flex}.work-section{background:#fff;padding:112px 0 126px}.section-intro{justify-content:space-between;align-items:end;gap:30px;margin-bottom:51px;display:flex}.japanese-label{color:#718b75;letter-spacing:.12em;font-family:Noto Serif JP,serif;font-size:20px}.section-intro h2{letter-spacing:-.07em;margin:11px 0 0;font-size:clamp(52px,6vw,92px);font-weight:700;line-height:1.04}.section-intro h2 span{color:#9eb4a0}.section-intro>p{color:#728077;max-width:280px;font-size:15px;line-height:1.7}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;display:grid}.project{background:#f7f9f6;border:1px solid #e5e9e3;border-radius:27px;transition:box-shadow .35s,transform .35s;overflow:hidden}.project:hover{transform:translateY(-6px);box-shadow:0 27px 60px #17261d18}.project-art{background:#dbe2de;height:330px;display:block;position:relative;overflow:hidden}.project-art img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .65s cubic-bezier(.22,1,.36,1);display:block}.project:hover .project-art img{transform:scale(1.04)}.project-art .contain{object-fit:contain;filter:drop-shadow(0 16px 30px #101d1822);width:30%;height:46%;position:absolute;top:27%;left:35%}.project-art.ivory{background:#ebece6}.project-art.pearl{background:#e2e8e4}.project-art.slate{background:#26322f}.project-art.blue{background:#1b2f38}.project-open{background:#ffffffea;border-radius:100%;place-items:center;width:43px;height:43px;display:grid;position:absolute;top:17px;right:17px;box-shadow:0 6px 24px #0002}.project-info{padding:25px 26px}.project-category{letter-spacing:.11em;color:#718878;font-size:11px;font-weight:700}.project h3{letter-spacing:-.06em;margin:8px 0;font-size:39px}.project-info p{color:#66766a;max-width:490px;margin:0 0 22px;font-size:14px;line-height:1.68}.project-foot{border-top:1px solid var(--edge);color:#687b6e;justify-content:space-between;align-items:center;gap:15px;padding-top:17px;font-size:12px;display:flex}.icon-link{align-items:center;gap:5px;display:flex}.all-work{border-bottom:1px solid var(--edge);justify-content:space-between;align-items:center;margin-top:35px;padding:23px 0;font-size:16px;font-weight:700;transition:padding .2s;display:flex}.all-work:hover{padding-left:10px}.about-section{color:#172219;background:#e6e9e1;padding:140px 0 150px}.about-section-label{letter-spacing:.04em;color:#66806c;align-items:center;gap:15px;font-size:11px;display:flex}.about-section-label span:first-child{border:1px solid #829988;place-items:center;width:32px;height:32px;font-size:11px;display:grid}.about-intro h2{letter-spacing:-.075em;margin:25px 0 65px;font-size:clamp(56px,7vw,110px);line-height:1.04}.about-grid{grid-template-columns:1.2fr .8fr;gap:9vw;display:grid}.about-main>p:first-child{letter-spacing:-.052em;margin:0;font-size:clamp(26px,3.1vw,50px);line-height:1.3}.about-main>p:first-child span{color:#6c8a70}.about-secondary{color:#536357;max-width:550px;margin-top:29px;font-size:17px;line-height:1.9}.about-kanji{color:#b9c4b7;letter-spacing:.04em;margin-top:65px;font-family:Noto Serif JP,serif;font-size:clamp(43px,6vw,98px)}.about-row{border-top:1px solid #a2b3a4;padding:23px 0}.about-row-top{color:#66806c;align-items:center;gap:12px;font-size:12px;display:flex}.about-row-top span:nth-child(2){margin-left:auto;font-family:Noto Serif JP,serif;font-size:16px}.about-row h3{letter-spacing:-.05em;margin:17px 0 9px;font-size:clamp(20px,2vw,29px);font-weight:600}.about-row p{color:#657467;max-width:300px;font-size:13px;line-height:1.7}.activity-section{background:#f7f8f5;padding:130px 0 125px}.activity-grid{grid-template-columns:1fr 1fr;gap:23px;display:grid}.activity-card{border:1px solid var(--edge);background:#fff;border-radius:26px;min-width:0;padding:25px;box-shadow:0 10px 45px #293b2d07}.activity-card-head{align-items:center;gap:12px;display:flex}.activity-card-head h3{letter-spacing:-.04em;margin:0;font-size:24px}.activity-card-head svg:last-child{margin-left:auto}.activity-img{background:#f2f5f1;border-radius:16px;justify-content:center;align-items:center;height:290px;margin-top:22px;padding:18px;display:flex;overflow:hidden}.activity-img img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%}.activity-img.badge-img{background:#202e3b}.activity-link{border-top:1px solid var(--edge);justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;font-size:13px;font-weight:700;display:flex}.toolbox{border-top:1px solid var(--edge);align-items:center;gap:40px;margin-top:55px;padding-top:31px;display:flex}.toolbox>span{color:#7a957e;font-family:Noto Serif JP,serif;font-size:25px}.toolbox>div{flex-wrap:wrap;gap:9px;display:flex}.toolbox>div span{color:#52685a;background:#fff;border:1px solid #d6dfd6;border-radius:99px;padding:9px 14px;font-size:12px}.contact-section{background:#e5ebe4;padding:110px 0 125px}.contact-grid{justify-content:space-between;align-items:center;gap:50px;display:flex}.contact-jp{color:#708875;font-family:Noto Serif JP,serif;font-size:24px}.contact-grid h2{letter-spacing:-.075em;margin:18px 0 20px;font-size:clamp(55px,7vw,100px);line-height:1}.contact-grid p{color:#5e7363;max-width:420px;font-size:16px;line-height:1.8}.contact-links{gap:13px;min-width:300px;display:grid}.contact-links>a{background:#fff;border-radius:17px;align-items:center;gap:17px;padding:22px;font-size:19px;font-weight:600;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 7px 25px #1d36240c}.contact-links>a svg:last-child{margin-left:auto}.contact-links>a:hover{transform:translateY(-4px);box-shadow:0 17px 35px #1d36241c}.footer{background:var(--bg);border-top:1px solid var(--edge)}.footer-inner{color:#829287;justify-content:space-between;align-items:center;gap:25px;min-height:95px;font-size:12px;display:flex}.footer-inner a:first-child{color:#24362a;font-weight:700}.footer-inner a:first-child span{margin-right:12px;font-family:Noto Serif JP,serif;font-size:19px}@media (max-width:900px){.wrap{width:calc(100% - 48px)}.hero-grid{grid-template-columns:1fr .7fr;gap:32px}.hero h1{font-size:clamp(60px,9vw,90px)}.portrait{border-radius:24px}.project-art{height:260px}.about-grid{gap:5vw}.contact-grid{gap:30px}}@media (max-width:700px){.wrap{width:calc(100% - 36px)}.nav{height:68px}.nav-links{border-bottom:1px solid var(--edge);background:#f7f8f5;flex-direction:column;gap:20px;padding:20px 25px;display:none;position:absolute;top:68px;left:0;right:0}.nav-links.opened{display:flex}.nav-toggle{display:block}.nav-github{font-size:0}.hero{padding-top:45px}.hero-grid{flex-direction:column-reverse;align-items:stretch;gap:26px;display:flex}.portrait-wrap{align-self:start;width:min(230px,65%)}.portrait{border-radius:22px;padding:9px}.portrait img{border-radius:15px}.hero-copy{padding-bottom:20px}.hero-japanese{font-size:30px}.hero h1{margin:12px 0 23px;font-size:clamp(61px,13vw,95px)}.hero-lead{font-size:26px}.hero-description{font-size:14px}.hero-bottom{margin-top:14px}.work-section,.activity-section{padding:85px 0}.section-intro{margin-bottom:30px;display:block}.section-intro h2{font-size:clamp(48px,10vw,74px)}.section-intro>p{margin-top:17px}.work-grid,.activity-grid,.about-grid{grid-template-columns:1fr}.work-grid{gap:21px}.project-art{height:260px}.about-section{padding:85px 0}.about-intro h2{margin-bottom:38px;font-size:clamp(48px,9.5vw,76px)}.about-grid{gap:55px}.about-kanji{margin-top:30px}.toolbox{flex-direction:column;align-items:start;gap:15px}.contact-section{padding:85px 0}.contact-grid{flex-direction:column;align-items:stretch}.contact-links{min-width:0}.footer-inner{flex-wrap:wrap;padding:25px 0}.footer-inner>span{order:3;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--v42-bg:#f7f8f5;--v42-surface:#fff;--v42-soft:#eef1eb;--v42-text:#17231d;--v42-muted:#627267;--v42-border:#d8ded7;--v42-accent:#7a9780}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--v42-bg:#101613;--v42-surface:#18211c;--v42-soft:#1c2821;--v42-text:#eef3ed;--v42-muted:#a7b8ab;--v42-border:#344238;--v42-accent:#a2bca6}html[data-theme=dark] body{background:var(--v42-bg);color:var(--v42-text)}html[data-theme=dark] .nav,html[data-theme=dark] .footer{border-color:var(--v42-border);color:var(--v42-text);background:#101613de}html[data-theme=dark] .nav-links,html[data-theme=dark] .hero-description,html[data-theme=dark] .hero-bottom,html[data-theme=dark] .section-intro>p,html[data-theme=dark] .project-info p,html[data-theme=dark] .project-foot,html[data-theme=dark] .contact-grid p{color:var(--v42-muted)}html[data-theme=dark] .nav-links a:hover,html[data-theme=dark] .hero-bottom a,html[data-theme=dark] .nav-github,html[data-theme=dark] .footer-inner a:first-child{color:var(--v42-text)}html[data-theme=dark] .hero h1 span,html[data-theme=dark] .section-intro h2 span,html[data-theme=dark] .hero-japanese,html[data-theme=dark] .japanese-label,html[data-theme=dark] .contact-jp{color:var(--v42-accent)}html[data-theme=dark] .work-section,html[data-theme=dark] .activity-section{background:var(--v42-bg);color:var(--v42-text)}html[data-theme=dark] .project,html[data-theme=dark] .activity-card{background:var(--v42-surface);border-color:var(--v42-border);color:var(--v42-text)}html[data-theme=dark] .project-art.ivory,html[data-theme=dark] .project-art.pearl{background:#2a352d}html[data-theme=dark] .activity-img{background:var(--v42-soft)}html[data-theme=dark] .activity-img.badge-img{background:#202e3b}html[data-theme=dark] .toolbox>div span,html[data-theme=dark] .button-ghost,html[data-theme=dark] .contact-links>a{background:var(--v42-surface);border-color:var(--v42-border);color:var(--v42-text)}html[data-theme=dark] .contact-section{background:var(--v42-soft);color:var(--v42-text)}html[data-theme=dark] .about-section{color:#172219;background:#dfe5db}html[data-theme=dark] .about-main,html[data-theme=dark] .about-list,html[data-theme=dark] .about-intro{color:#172219}html[data-theme=dark] .about-secondary,html[data-theme=dark] .about-row p{color:#536357}html[data-theme=dark] .about-row{border-color:#a2b3a4}html[data-theme=dark] .about-main>p:first-child span{color:#6c8a70}html[data-theme=dark] .about-kanji{color:#b9c4b7}.nav{-webkit-backdrop-filter:blur(20px)}.theme-toggle{border:1px solid var(--v42-border);width:40px;height:40px;color:var(--v42-text);background:color-mix(in srgb,var(--v42-surface) 75%,transparent);cursor:pointer;border-radius:13px;justify-content:center;align-items:center;transition:transform .25s,background .25s,box-shadow .25s;display:inline-flex}.theme-toggle:hover{background:var(--v42-surface);transform:translateY(-2px);box-shadow:0 8px 24px #00000012}html[data-theme=dark] .theme-toggle:hover{box-shadow:0 8px 24px #00000035}.portrait-v42{transition:transform .6s cubic-bezier(.22,1,.36,1)}.portrait-v42:hover{transform:translateY(-5px)}.project,.activity-card,.contact-links>a{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s}.project:hover{border-color:var(--v42-accent)}html[data-theme=dark] .project-open{color:#18231b;background:#e8f0e8}html[data-theme=dark] .portrait{border-color:var(--v42-border);background:#253129;box-shadow:0 28px 65px #00000050}html[data-theme=dark] .portrait-caption,html[data-theme=dark] .project h3,html[data-theme=dark] .activity-card-head{color:var(--v42-text)}.hero-japanese,.logo span:first-child,.portrait-caption span:last-child,.footer-inner a:first-child span{letter-spacing:.09em}@media (max-width:700px){.hero-grid{align-items:center}.portrait-wrap,.portrait-v42{max-width:none;place-self:center!important;width:min(255px,80%)!important;margin-left:auto!important;margin-right:auto!important}.portrait-caption{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center}.nav-links.opened{background:var(--v42-bg);color:var(--v42-text);border-color:var(--v42-border)}}@media (prefers-reduced-motion:reduce){.portrait-v42,.project,.activity-card{transition:none!important}}
