#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;margin-top:60px}#facade{text-align:center}:root{--ink: #173e34;--text: #233c34;--muted: #5f6962;--line: #dce2da;--paper: #f8f9f5;--accent: #d5e4b4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--text);font-family:Arial,Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:6px}button{cursor:pointer}main{min-height:70vh}.wrap{max-width:1240px;width:88%;margin:auto}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(54px,5.8vw,82px);line-height:1.08;letter-spacing:-3.5px;font-weight:400;margin:28px 0}h1 em{font-weight:400;color:#68816a}h2{font-weight:400;font-family:Georgia,serif;font-size:46px;letter-spacing:-1.5px;margin:12px 0}h3{font-weight:500}.body-copy{color:#667169;font-size:13px;line-height:2.1;letter-spacing:.5px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;text-transform:uppercase;display:flex;gap:12px;align-items:center}.eyebrow:before{content:"";width:7px;height:7px;background:#607b52;border-radius:50%}.overline{font-size:10px;letter-spacing:2px;color:#5f6b5c}.section{padding:76px 0}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-top p{font-size:12px;color:var(--muted);margin:0}.section-top h2{margin-bottom:8px}.sample-note{color:var(--muted);font-size:11px;margin-top:25px}.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:15px;z-index:10}.skip:focus{top:10px}header{height:106px;max-width:1440px;margin:auto;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:21px;font-weight:750;letter-spacing:1.1px}.brand-dot{margin-left:-12px}.mark{font-family:Georgia,serif;font-size:43px;line-height:1;position:relative}.mark span{font-size:8px;position:absolute;top:5px;right:-4px}nav{display:flex;gap:34px;align-items:center;font-size:13px}nav a{padding:12px 0;position:relative}nav a.active:not(.nav-contact):after{content:"";position:absolute;bottom:1px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--ink)}nav a:hover{opacity:.65}.nav-contact{border:1px solid #abb7ac;padding:12px 21px!important;border-radius:3px}.nav-contact span{margin-left:24px}.menu{display:none}footer{padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:16px}footer span,footer small{font-size:10px;color:var(--muted)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;background:var(--ink);color:#fff;padding:17px 25px;border:1px solid var(--ink);border-radius:3px;font-size:12px;transition:.2s}.button:hover{background:#2b5645;transform:translateY(-2px)}.text-link{font-size:12px;border-bottom:1px solid #aebbad;padding:9px 0}.text-link span{margin-left:24px}.page-head{padding:66px 0 36px;border-bottom:1px solid var(--line);margin-bottom:46px}.page-head h1{font-size:70px;margin:16px 0}.page-head p{font-size:14px;color:#697469}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.work-card{display:block;width:100%;text-align:left;border:0;padding:0;background:none;color:inherit}.work-card h3{margin:9px 0;font-size:17px}.thumb{height:218px;background:#e9e9de;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:.3s}.work-card:hover .thumb{transform:translateY(-5px)}.mini-site{width:76%;height:150px;background:#fcfcf8;box-shadow:0 10px 18px #36402e13;padding:14px}.mini-nav{font-size:8px;border-bottom:1px solid #ddd;padding-bottom:9px;display:flex;justify-content:space-between}.mini-content{display:flex;gap:12px;align-items:center;height:100px}.mini-content strong{font:22px/1.2 Georgia,serif;flex:1}.mini-image{height:78px;width:40%;background:#c0c8ad;border-radius:50px 50px 0 0}.blue{background:#e2e8eb}.blue .mini-image{background:#a9bfcc;border-radius:2px}.blue .mini-content strong{font-family:Arial;font-size:17px}.sage{background:#dee6db}.sage .mini-site{background:#244536;color:#fff}.sage .mini-image{background:#8caa72;border-radius:50%}.work-meta{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:19px}.thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.project-images img{display:block;width:100%;height:auto;margin-top:20px}.contact-band{background:#e9eddf;padding:50px 6%;display:flex;align-items:center;justify-content:space-between}.contact-band h2{font-size:47px}.contact-band p{font-size:12px;color:#58614f}dialog{width:min(580px,90vw);border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:42px;max-height:85vh}dialog::backdrop{background:#19342680;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog h2{font-size:34px}.close{position:absolute;top:12px;right:16px;font-size:25px;background:none;border:0;color:var(--ink)}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:7%;padding:76px 0 70px}.hero h3{font-size:19px;letter-spacing:2px;margin:26px 0 14px}.hero .hero-tagline{font-size:19px;font-weight:500;letter-spacing:2px;margin:26px 0 14px}.actions{display:flex;align-items:center;gap:28px;margin-top:30px}.art{height:460px;background:#e7eadf;position:relative;overflow:hidden;border-radius:180px 180px 4px 4px;isolation:isolate}.art:before{content:"";position:absolute;width:280px;height:280px;top:43px;right:-95px;background:#d5ddc8;border-radius:50%}.art:after{content:"";position:absolute;width:500px;height:140px;background:#d6ddcd;bottom:-40px;left:-40px;border-radius:50%;transform:rotate(-15deg);z-index:-1}.art-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(#486b3e08 1px,transparent 1px),linear-gradient(90deg,#486b3e08 1px,transparent 1px);background-size:36px 36px}.art-plus{position:absolute;top:42px;left:40px;font-size:30px;font-weight:200}.art-label{position:absolute;bottom:22px;left:26px;font-size:9px;letter-spacing:2px}.window{position:absolute;width:78%;height:248px;left:11%;top:98px;background:#fbfcf6;box-shadow:14px 28px 35px #29432717;transform:rotate(-7deg);border:1px solid #d0d8c8;border-radius:8px;overflow:hidden}.window-bar{padding:13px 14px;border-bottom:1px solid #e2e7dd;display:flex;gap:5px}.window-bar i{display:block;height:5px;width:5px;border-radius:50%;background:#b5c1ac}.window-bar span{font-size:8px;margin-left:auto;color:#83917a}.window-body{padding:24px;display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.tiny{font-size:7px;letter-spacing:1px}.window-title{font-family:Georgia,serif;font-size:30px;line-height:1.05;margin:12px 0}.fake-line{height:4px;background:#e2e7d9;width:85%;margin:7px 0}.fake-button{height:17px;width:58px;background:#385742;margin-top:16px}.sculpture{height:140px;background:#e3e9d9;border-radius:70px 70px 2px 2px;position:relative;overflow:hidden}.sculpture:before{content:"";position:absolute;left:32%;top:32px;width:55px;height:130px;border-radius:35px 35px 0 0;background:linear-gradient(90deg,#56764e,#aac09b);transform:rotate(25deg);box-shadow:15px 8px 20px #284a3d25}.code-card{position:absolute;right:16px;bottom:61px;padding:20px 23px;background:#244536;color:#d2dfc1;border-radius:5px;box-shadow:0 10px 30px #15352520;transform:rotate(5deg);font:11px/1.9 monospace}.code-card span{color:#8dba84}.intro-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:23px 0;font-size:11px;color:var(--muted);letter-spacing:1px}.tech-list{display:flex;gap:34px;color:#405642;font-size:16px;font-family:Georgia,serif}.home-about{display:grid;grid-template-columns:1fr 1.4fr;gap:10%;border-top:1px solid var(--line);padding:65px 0}.home-about p{font-size:14px;line-height:2.2}.profile-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:10%;padding-bottom:80px}.monogram{height:350px;background:#e3e9dc;border-radius:160px 160px 3px 3px;display:flex;align-items:center;justify-content:center;font:100px Georgia;color:#72916a}.profile-layout h2{font-family:inherit;font-size:28px;letter-spacing:1px}.facts{margin-top:30px}.facts div{display:grid;grid-template-columns:120px 1fr;border-top:1px solid var(--line);padding:18px 0;font-size:13px}.facts dt{color:#76826f}.facts dd{margin:0}.skills{margin-bottom:70px}.skill-row{display:grid;grid-template-columns:60px 1fr 1fr;gap:30px;padding:32px 0;border-bottom:1px solid var(--line)}.skill-row .num{font:22px Georgia;color:#8d9d80}.skill-row h3{margin:0 0 10px;font-size:24px;font-family:Georgia}.skill-row p{font-size:12px;color:#697469;line-height:1.9}.tags{display:flex;gap:8px;flex-wrap:wrap;align-content:center}.tags span{font-size:12px;padding:9px 14px;border:1px solid #d4dccb;border-radius:2px}.filters{display:flex;gap:10px;margin-bottom:30px}.filter{padding:10px 20px;background:none;border:1px solid #d4dccb;border-radius:30px;color:#60705e;font-size:12px}.filter.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:12%;padding-bottom:80px}.contact-layout h2{font-family:inherit;font-size:25px;letter-spacing:0;line-height:1.8}.field{margin-bottom:24px}.field label{display:block;font-size:12px;margin-bottom:10px}.required{font-size:11px;color:#5a6b4d;margin-left:12px}input,textarea,select{width:100%;padding:14px;border:1px solid #ccd5c5;background:#fff;color:#233c34;border-radius:3px}textarea{min-height:150px;resize:vertical}.check{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.8;margin-bottom:25px}.check input{width:auto;margin-top:4px}.notice{font-size:12px;line-height:1.8;color:#6b7665;border-left:2px solid #b3c49b;padding-left:15px}.form-result{padding:20px;background:#e8eddf;line-height:1.9;margin-top:20px;font-size:13px}.form-result:empty{display:none}.direct-contact{margin:32px 0 24px;padding:20px 24px;border:1px solid var(--line);border-radius:3px;background:#fff}.direct-contact h3{font-size:13px;margin:0 0 12px;color:var(--ink)}.direct-contact dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0;font-size:14px}.direct-contact dt{color:var(--muted)}.direct-contact dd{margin:0;overflow-wrap:anywhere}.direct-contact a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}@media (min-width: 1450px){.hero{padding:90px 0}.art{height:490px}}@media (max-width: 800px){header{height:80px}nav{gap:20px}.hero{gap:4%;padding:50px 0}.art{height:380px}.window{top:80px;height:220px}.window-body{padding:18px;gap:10px}.window-title{font-size:24px}.code-card{font-size:9px;bottom:40px;right:0}.hero h1{font-size:55px}.tech-list{gap:16px;font-size:14px}.thumb{height:180px}.mini-site{width:86%}.mini-content strong{font-size:17px}.cards{gap:17px}footer span{display:none}}@media (max-width: 600px){header{padding:0 6%;height:76px}.brand{font-size:18px}.menu{display:block;border:0;background:none;color:var(--ink);font-size:12px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:24px 6%;z-index:5;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:10px}nav.open{display:flex}nav a.active:not(.nav-contact):after{left:auto;right:5px;bottom:18px}.hero{grid-template-columns:1fr;padding:40px 0;gap:36px}.hero h1{font-size:61px;letter-spacing:-3px}.hero h3,.hero .hero-tagline{font-size:17px}.art{height:365px;max-width:430px;width:100%;margin:auto}.window{height:220px;top:69px}.code-card{right:15px;bottom:37px}.intro-strip{align-items:flex-start;gap:18px;flex-direction:column}.tech-list{flex-wrap:wrap;gap:15px;font-size:15px}.section{padding:45px 0}.section-top{gap:10px}h2{font-size:36px}.section-top .text-link{font-size:10px;white-space:nowrap}.cards{grid-template-columns:1fr;gap:35px}.thumb{height:240px}.mini-site{max-width:280px;height:170px;padding:18px}.mini-content{height:120px}.mini-content strong{font-size:25px}.mini-image{height:95px}.home-about{grid-template-columns:1fr;gap:5px;padding:40px 0}.contact-band{align-items:flex-start;flex-direction:column;gap:20px;padding:35px 6%}.contact-band h2{font-size:42px}footer{flex-wrap:wrap;padding:28px 6%}footer small{font-size:9px}.page-head{padding-top:40px;margin-bottom:30px}.page-head h1{font-size:57px}.profile-layout,.contact-layout{grid-template-columns:1fr;gap:30px}.monogram{height:240px;max-width:300px;width:100%;margin:auto}.skill-row{grid-template-columns:30px 1fr;gap:12px}.skill-row .tags{grid-column:2}.filters{flex-wrap:wrap}.filter{padding:9px 16px}.contact-layout{padding-bottom:45px}dialog{padding:30px}}@media (max-width: 600px){.hero h1{font-size:clamp(46px,14vw,61px)}}h1,h2,.skill-row h3{font-family:Arial,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;letter-spacing:.02em}h1 em{font-style:normal}.hero h1{font-size:clamp(36px,4vw,56px);line-height:1.55;font-weight:500;letter-spacing:.01em}.page-head h1{font-size:48px;line-height:1.5}h2{font-size:34px;line-height:1.5}.contact-band h2{font-size:38px}.window-title{font-family:inherit;font-size:22px;line-height:1.5}.mini-content strong{font-family:inherit;font-size:16px;line-height:1.6}.blue .mini-content strong{font-size:16px}.monogram{font:600 58px Arial;letter-spacing:7px}.eyebrow,.overline{letter-spacing:.12em}nav{gap:25px}.skill-row h3{font-size:23px}.home-about{grid-template-columns:1.1fr 1.4fr}footer span{letter-spacing:.05em}@media (max-width: 800px){nav{gap:14px}.hero h1{font-size:35px}.window-title{font-size:18px}.contact-band h2{font-size:32px}}@media (max-width: 600px){.hero h1{font-size:clamp(32px,8.5vw,46px);line-height:1.6}.page-head h1{font-size:36px}h2{font-size:29px}.home-about{grid-template-columns:1fr}.contact-band h2{font-size:30px}.window-title{font-size:20px}.mini-content strong,.blue .mini-content strong{font-size:18px}}
