:root{--sepia-dark: #3e2723;--sepia-mid: #5d4037;--sepia-soft: #8d6e63;--paper: #f4ecd8;--paper-deep: #efe5cd;--ink-light: #fffaf1;--border-faint: rgba(62, 39, 35, .14);--grain: url(https://www.transparenttextures.com/patterns/felt-paper.png);--font-body: "Source Serif 4", Georgia, serif;--font-heading: "Special Elite", serif;--font-accent: "Source Serif 4", Georgia, serif;--font-ui: "Courier Prime", monospace;--font-site-title: "Special Elite", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--sepia-dark);font-family:var(--font-body)}html[lang=ja]{--font-body: "Noto Serif JP", serif;--font-heading: "Noto Serif JP", serif;--font-accent: "Noto Serif JP", serif;--font-ui: "Noto Sans JP", sans-serif}body:before{content:"";position:fixed;inset:0;background-image:var(--grain);opacity:.28;pointer-events:none;z-index:-1}a{color:inherit}img{max-width:100%;display:block}.page-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.grain-texture{position:fixed;inset:0;background-image:url(https://www.transparenttextures.com/patterns/60-lines.png);opacity:.05;pointer-events:none;z-index:-1}.site-header{padding:42px 20px 28px;border-bottom:2px solid var(--border-faint);text-align:center}.site-logo{width:76px;height:76px;margin:0 auto 16px;object-fit:cover}.site-title{margin:0;font-family:var(--font-site-title);font-size:clamp(2rem,5vw,3.4rem);letter-spacing:.2rem;text-transform:uppercase}.site-subtitle{margin:10px auto 0;max-width:740px;font-family:var(--font-accent);font-style:italic;font-size:clamp(.95rem,2vw,1.12rem);line-height:1.7}.site-nav,.language-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 22px}.site-nav{margin-top:34px;text-transform:uppercase;font-size:.88rem;font-weight:700;font-family:var(--font-ui)}.language-nav{margin-top:18px;font-size:.84rem;font-family:var(--font-ui)}.nav-link,.language-link,.action-link{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease,opacity .2s ease}.nav-link:hover,.language-link:hover,.action-link:hover,.nav-link[aria-current=page],.language-link[aria-current=true]{border-bottom-color:var(--sepia-dark)}.hero{padding:50px 12px;display:grid;gap:34px;align-items:center}@media(min-width:840px){.hero{grid-template-columns:minmax(300px,1.1fr) minmax(300px,1fr);gap:54px;padding:78px 18px}}.hero-frame{background:#fff;padding:18px 18px 72px;box-shadow:0 14px 34px #0000002e;transform:rotate(-2deg)}.hero-frame img{min-height:360px;max-height:560px;width:100%;object-fit:cover;object-position:center top;filter:none}.hero-copy h2,.section-title,.post-title,.post-card-title,.timeline-title{font-family:var(--font-heading);letter-spacing:0}.hero-copy h2{margin:0 0 22px;font-size:clamp(1.5rem,4vw,2.6rem);line-height:1.2}.hero-copy p{margin:0 0 20px;color:var(--sepia-mid);font-size:1rem;line-height:1.82;font-family:var(--font-body)}.project-section{padding-top:24px}.project-section-header{display:flex;justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:34px}.project-title{margin:0;text-align:left}.project-title:after{margin-left:0}.project-link{text-decoration:none;font-size:.95rem}.project-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.project-card{background:#ffffffd6;border:1px solid rgba(62,39,35,.08);padding:18px;box-shadow:0 12px 32px #0000000f;display:grid;gap:14px}.project-card img{width:100%;aspect-ratio:16 / 10;object-fit:cover}.project-card h3{margin:0;font-family:var(--font-heading);font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.15}.project-card p{margin:0;line-height:1.72;font-family:var(--font-body)}.section{padding:40px 12px}@media(min-width:768px){.section{padding:72px 18px}}.section-title{margin:0 0 44px;text-align:center;font-size:clamp(1.5rem,4vw,2.1rem)}.section-title:after{content:"";display:block;width:64px;height:2px;background:var(--sepia-dark);margin:16px auto 0}.polaroid-grid,.post-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.polaroid,.post-card{background:#fff;padding:14px 14px 22px;box-shadow:0 5px 16px #00000017}.post-card{display:grid;align-content:start;gap:14px}.polaroid:nth-child(odd),.post-card:nth-child(odd){transform:rotate(1.5deg)}.polaroid:nth-child(2n),.post-card:nth-child(2n){transform:rotate(-1.5deg)}.polaroid img{aspect-ratio:4 / 5;object-fit:cover;width:100%;filter:sepia(.2) contrast(1.05)}.post-card img{width:100%;height:auto;max-height:420px;object-fit:contain;object-position:center;background:transparent;filter:sepia(.2) contrast(1.05)}.post-card-media{margin:0;display:flex;justify-content:center}.post-card-copy{display:grid;gap:12px;font-family:var(--font-body)}.post-card-copy>*{margin:0}.post-card-title{font-size:clamp(1.5rem,3vw,2rem);line-height:1.08;text-wrap:balance}.post-card .post-meta{font-size:.88rem}.post-card-portrait{padding:20px 20px 26px;gap:18px}.post-card-portrait .post-card-media{padding-block:4px 2px}.post-card-portrait img{width:min(100%,264px);max-height:none}.post-card-portrait .post-card-copy{gap:14px}.post-card-portrait .post-card-copy:before{content:"";display:block;width:56px;height:2px;background:#3e2723cc}.post-card-portrait .post-meta{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.post-card-portrait .post-card-title{max-width:10.5ch;font-size:clamp(1.85rem,3.2vw,2.55rem);line-height:1}.post-card-portrait p:not(.post-meta){max-width:28ch;line-height:1.74}.post-card-preset-travel .post-card-title{max-width:9.5ch}.post-card-preset-reflective .post-card-title{max-width:8.8ch;font-size:clamp(1.8rem,3vw,2.35rem)}.post-card-preset-campfire .post-card-title{max-width:11ch}.post-card-preset-leadership .post-card-title{max-width:9.3ch;font-size:clamp(1.76rem,2.95vw,2.25rem)}@media(max-width:640px){.post-card-portrait{padding:18px 18px 24px}.post-card-portrait img{width:min(100%,248px)}.post-card-portrait .post-card-title,.post-card-preset-travel .post-card-title,.post-card-preset-reflective .post-card-title,.post-card-preset-campfire .post-card-title,.post-card-preset-leadership .post-card-title{max-width:none;font-size:clamp(1.7rem,8vw,2.25rem)}.post-card-portrait p:not(.post-meta){max-width:none}}.polaroid-caption,.post-meta,.muted{color:var(--sepia-mid)}.timeline-band{background:#8d6e630f}.timeline-list{display:grid;gap:22px;max-width:860px;margin:0 auto}.timeline-item{border-left:2px solid rgba(62,39,35,.18);padding-left:16px}.timeline-year{font-family:var(--font-ui);margin-bottom:6px}.panel{background:#ffffffa8;border:1px solid rgba(62,39,35,.08);padding:22px}.post-shell{padding:52px 12px 84px}.post-hero{display:grid;gap:28px;align-items:start;margin-bottom:34px}@media(min-width:980px){.post-hero-title-right{grid-template-columns:minmax(320px,520px) minmax(260px,420px);justify-content:center;gap:clamp(32px,4vw,72px);min-height:78vh}}.post-cover{background:transparent;padding:0;box-shadow:none;margin-bottom:34px}.post-hero .post-cover{margin-bottom:0}.post-cover img{width:auto;max-width:100%;max-height:min(78vh,960px);margin:0 auto;object-fit:contain;object-position:center;filter:sepia(.18) contrast(1.05)}.post-header-card{align-self:center;padding-top:12px;max-width:34rem}@media(min-width:980px){.post-header-card{position:sticky;top:24px;padding-top:0}}.post-hero-title-right .post-header-card:before{content:"";display:block;width:72px;height:2px;background:#3e2723cc;margin-bottom:20px}.post-hero-title-right .post-meta{margin:0 0 16px;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-ui)}.post-title{font-size:clamp(1.8rem,5vw,3.1rem);margin:0 0 12px;line-height:1.08}html[lang=ja] .post-title,html[lang=ja] .post-dek,html[lang=ja] .post-card-title,html[lang=ja] .post-card-copy p,html[lang=ja] .hero-copy h2,html[lang=ja] .hero-copy p{line-break:strict;word-break:auto-phrase;overflow-wrap:anywhere}.post-header-card .post-title{font-size:clamp(2.35rem,4.8vw,4.8rem);margin-bottom:20px;max-width:12ch;text-wrap:balance}.post-dek{max-width:30rem;margin:0;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.82;font-family:var(--font-body)}.hero-preset-travel .post-header-card{max-width:35rem}.hero-preset-travel .post-header-card .post-title{max-width:10.5ch;font-size:clamp(2.55rem,5vw,5rem)}.hero-preset-travel .post-dek{max-width:26rem}.hero-preset-reflective .post-header-card .post-title{max-width:9.5ch;font-size:clamp(2.3rem,4.4vw,4.4rem);line-height:1.06}.hero-preset-reflective .post-dek{max-width:24rem;font-size:clamp(.98rem,1.2vw,1.06rem)}.hero-preset-campfire .post-header-card .post-title{max-width:11.5ch;font-size:clamp(2.45rem,4.6vw,4.6rem)}.hero-preset-campfire .post-dek{max-width:23rem}.hero-preset-leadership .post-header-card .post-title{max-width:10ch;font-size:clamp(2.25rem,4.3vw,4.2rem)}.hero-preset-leadership .post-dek{max-width:25rem;font-size:clamp(.98rem,1.15vw,1.05rem)}@media(max-width:979px){.post-hero{gap:22px;margin-bottom:26px}.post-header-card{padding-inline:2px}.post-hero-title-right .post-header-card:before{width:56px;margin-bottom:14px}.post-hero-title-right .post-meta{margin-bottom:10px;font-size:.8rem;letter-spacing:.06em}.post-header-card .post-title{max-width:none;font-size:clamp(2rem,8.2vw,3rem);line-height:1.02;margin-bottom:14px}.post-dek{max-width:none;font-size:.98rem;line-height:1.72}.hero-preset-travel .post-header-card .post-title,.hero-preset-reflective .post-header-card .post-title,.hero-preset-campfire .post-header-card .post-title,.hero-preset-leadership .post-header-card .post-title{max-width:none;font-size:clamp(2rem,8vw,3rem)}.hero-preset-travel .post-dek,.hero-preset-reflective .post-dek,.hero-preset-campfire .post-dek,.hero-preset-leadership .post-dek{max-width:none}html[lang=ja] .post-header-card .post-title{font-size:clamp(1.86rem,7vw,2.72rem);line-height:1.12;text-wrap:pretty;max-width:13.5ch}html[lang=ja] .post-dek{font-size:.94rem;line-height:1.84;text-wrap:pretty;max-width:32ch}html[lang=ja] .post-card-title{line-height:1.12;text-wrap:pretty}html[lang=ja] .post-card-copy p:not(.post-meta){line-height:1.8}html[lang=ja] .post-card-portrait .post-card-title,html[lang=ja] .post-card-preset-travel .post-card-title,html[lang=ja] .post-card-preset-reflective .post-card-title,html[lang=ja] .post-card-preset-campfire .post-card-title,html[lang=ja] .post-card-preset-leadership .post-card-title{max-width:11.5ch}}.post-content{font-size:1rem;line-height:1.92;font-family:var(--font-body)}.post-content h2,.post-content h3{font-family:var(--font-heading);margin-top:2.2rem}.post-content figure{margin:2rem 0;background:transparent;padding:0;box-shadow:0 5px 16px #00000017}.post-content img,.post-content figure img{width:auto;max-width:min(100%,760px);max-height:min(80vh,1100px);margin:0 auto;object-fit:contain;object-position:center}.post-content figcaption{margin-top:12px;text-align:center;color:var(--sepia-mid);font-size:.92rem}.button,button{border:none;background:var(--sepia-dark);color:var(--paper);padding:12px 18px;cursor:pointer;font-family:var(--font-ui);font-size:1rem}.button.secondary{background:transparent;color:var(--sepia-dark);border:1px solid rgba(62,39,35,.26)}.footer{padding:40px 18px 62px;border-top:1px solid rgba(0,0,0,.06);text-align:center;font-size:.88rem;color:var(--sepia-mid);font-family:var(--font-body)}.contact-card{display:grid;gap:20px;max-width:840px;margin:0 auto;background:#fdf8e1;border:1px solid rgba(62,39,35,.12);box-shadow:10px 10px #0000000a;padding:28px 24px}@media(min-width:800px){.contact-card{grid-template-columns:1.3fr 1fr;align-items:start;padding:36px}}.stack{display:grid;gap:14px}.inline-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}html[lang=ja] .site-title{letter-spacing:.12rem}html[lang=ja] .site-subtitle{font-style:normal;line-height:1.9}html[lang=ja] .site-nav,html[lang=ja] .language-nav,html[lang=ja] .timeline-year,html[lang=ja] .post-meta,html[lang=ja] .button,html[lang=ja] button{letter-spacing:.02em;text-transform:none}
