@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap";:root{--color-bg:#17140f;--color-bg-alt:#1d1912;--color-surface:#221d15;--color-border:#c7a96c38;--color-text:#f1ece1;--color-text-muted:#a89a80;--color-accent:#d8b667;--color-accent-2:#a89a80;--font-body:"Noto Serif JP", Georgia, serif;--font-display:"Cormorant Garamond", "Noto Serif JP", Georgia, serif;--max-width:960px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-weight:300;line-height:1.85}.wrap{max-width:var(--max-width);margin:0 auto;padding:0 24px}section{border-bottom:1px solid var(--color-border);padding:88px 0}section:last-of-type{border-bottom:none}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:300;line-height:1.4}h2{align-items:baseline;gap:14px;margin-bottom:40px;font-size:clamp(1.6rem,1.2rem + 1.5vw,2.3rem);display:flex}h2 .num{font-family:var(--font-display);color:var(--color-accent);letter-spacing:.3em;align-items:center;gap:10px;font-size:.85rem;font-weight:500;display:inline-flex}h2 .num:before{content:"";background:var(--color-accent);width:32px;height:1px;display:inline-block}p{color:var(--color-text-muted);margin:0 0 1em}a{color:var(--color-accent)}.hero{border-bottom:1px solid var(--color-border);background-color:#0000;background-image:linear-gradient(#17140f66 0%,#17140fd1 55%,#17140f 100%),url(/hero-texture.png);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;justify-content:center;min-height:92vh;display:flex;position:relative}.hero-eyebrow{color:var(--color-accent);font-family:var(--font-display);letter-spacing:.4em;text-transform:uppercase;align-items:center;gap:16px;margin-bottom:28px;font-size:.85rem;font-weight:500;display:flex}.hero-eyebrow:before{content:"";background:var(--color-accent);opacity:.6;width:48px;height:1px}.hero h1{color:var(--color-text);font-size:clamp(2.4rem,1.7rem + 3.2vw,4rem);font-weight:300}.hero .name-en{color:var(--color-text-muted);letter-spacing:.08em;margin-top:12px;font-size:.36em;font-weight:400;display:block}.hero-tagline{color:var(--color-text-muted);max-width:640px;margin-top:28px;font-size:clamp(1rem,.9rem + .4vw,1.25rem)}.hero-tagline strong{color:var(--color-accent);font-weight:500}.profile-lead{color:var(--color-text);font-size:1.05rem}.strength-list{gap:28px;display:grid}.strength-card{background:var(--color-surface);border:1px solid var(--color-border);padding:28px 32px;transition:border-color .2s}.strength-card:hover{border-color:var(--color-accent)}.strength-card h3{font-family:var(--font-display);color:var(--color-accent);margin-bottom:12px;font-size:1.2rem;font-weight:500}.strength-card ul{color:var(--color-text-muted);margin:12px 0 0;padding-left:1.2em}.strength-card li{margin-bottom:6px}.project-card{background:var(--color-surface);border:1px solid var(--color-border);padding:32px 36px;transition:border-color .2s}.project-card:hover{border-color:var(--color-accent)}.project-label{font-family:var(--font-display);color:var(--color-accent);letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px;font-size:.85rem}.project-card h3{color:var(--color-text);flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:16px;font-size:1.4rem;display:flex}.project-card h3 a{font-family:var(--font-body);color:var(--color-text-muted);font-size:.85rem;text-decoration:none}.project-card h3 a:hover{color:var(--color-accent)}.project-link{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);border-bottom:1px solid var(--color-accent);margin-top:8px;padding-bottom:2px;font-size:.9rem;text-decoration:none;display:inline-block}.project-link:hover{opacity:.8}.highlight-table-wrap{border:1px solid var(--color-border);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px}th,td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:16px 20px}th{background:var(--color-bg-alt);color:var(--color-accent);font-family:var(--font-display);letter-spacing:.08em;white-space:nowrap;font-size:.9rem;font-weight:500}td{color:var(--color-text-muted);font-size:.95rem}tr:last-child td{border-bottom:none}.stack-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.stack-group h3{font-family:var(--font-display);color:var(--color-text-muted);letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;font-size:1rem;font-weight:500}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:6px 16px;font-size:.85rem;transition:border-color .2s,color .2s}.tag-list li:hover{border-color:var(--color-accent);color:var(--color-accent)}.tag-years{font-family:var(--font-display);color:var(--color-text-muted);margin-left:8px;font-size:.78rem}.working-style-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.working-style-list li{color:var(--color-text-muted);padding-left:28px;position:relative}.working-style-list li:before{content:"";background:var(--color-accent);width:8px;height:1px;position:absolute;top:.65em;left:0}.column-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.column-list li{border-bottom:1px solid var(--color-border)}.column-list a{font-family:var(--font-display);color:var(--color-text);padding:20px 4px;font-size:1.1rem;text-decoration:none;transition:color .2s;display:block}.column-list a:hover{color:var(--color-accent)}.contact{text-align:center}.contact p{max-width:480px;margin-left:auto;margin-right:auto}.contact-cta{background:var(--color-accent);color:var(--color-bg);font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:none;margin-top:8px;padding:14px 40px;font-size:.95rem;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-block}.contact-cta:hover{opacity:.9}.contact-cta:disabled{opacity:.6;cursor:not-allowed}.contact-form{text-align:left;gap:20px;max-width:480px;margin:32px auto 0;display:grid}.botcheck{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form-row{gap:8px;display:grid}.form-row label{font-family:var(--font-display);color:var(--color-text-muted);letter-spacing:.08em;font-size:.85rem}.form-row input,.form-row textarea{background:var(--color-surface);border:1px solid var(--color-border);width:100%;color:var(--color-text);font-family:var(--font-body);resize:vertical;padding:12px 16px;font-size:.95rem}.form-row input:focus,.form-row textarea:focus{border-color:var(--color-accent);outline:none}.contact-form .contact-cta{justify-self:center}.form-status{text-align:center;min-height:1.4em;font-size:.9rem}.form-status--success{color:var(--color-accent)}.form-status--error{color:#c98a72}footer{text-align:center;color:var(--color-text-muted);font-size:.85rem;font-family:var(--font-display);letter-spacing:.08em;padding:32px 0}.footer-old-link{margin-top:8px;font-size:.7rem}.footer-old-link a{color:var(--color-text-muted);opacity:.5;text-decoration:none}.footer-old-link a:hover{opacity:.85}
