:root{--paper:#fffaf6;--paper-soft:#fff2e8;--ink:#3a2a28;--muted:#8b726a;--line:#573a3026;--accent:#d96b4c;--accent-soft:#ffe2d3;--max-width:1120px;--font-sans:"Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;--font-display:"Helvetica Neue", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{color:var(--ink);background:var(--paper);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.75;overflow-x:hidden}body.menu-is-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{z-index:30;color:var(--paper);background:var(--ink);padding:8px 12px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;width:min(var(--max-width), 100%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf6f0;justify-content:space-between;align-items:center;margin:0 auto;padding:18px 32px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);align-items:center;gap:11px;font-size:13px;font-weight:700;display:inline-flex}.brand-mark{width:32px;height:32px;color:var(--paper);background:var(--ink);border-radius:10px;place-items:center;font-size:10px;line-height:1;display:grid}.brand-name{white-space:nowrap}.main-nav{font-family:var(--font-display);align-items:center;gap:27px;font-size:11px;display:flex}.main-nav a,.footer-links a{position:relative}.main-nav a:after,.footer-links a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.main-nav a:hover:after,.main-nav a:focus-visible:after,.footer-links a:hover:after,.footer-links a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.menu-toggle{min-height:40px;color:var(--ink);font-family:var(--font-display);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:10px;display:none}.menu-toggle-icon{border:1px solid var(--ink);border-radius:8px;place-items:center;width:27px;height:27px;font-size:17px;line-height:1;transition:transform .18s,background .18s,color .18s;display:grid}.menu-toggle[aria-expanded=true] .menu-toggle-icon{color:var(--paper);background:var(--ink);transform:rotate(45deg)}.profile-hero{width:min(var(--max-width), 100%);margin:0 auto;padding:86px 32px 76px}.profile-layout{grid-template-columns:minmax(220px,340px) minmax(0,1fr);align-items:center;gap:clamp(56px,10vw,140px);min-height:500px;display:grid}.profile-visual{width:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform:translate(0,0)}.profile-image-frame{aspect-ratio:.86;background:var(--paper-soft);border-radius:18px;position:relative;overflow:hidden}.profile-image-frame img{object-fit:cover;filter:saturate(.72);width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.profile-visual:hover .profile-image-frame img{transform:scale(1.04)}.profile-initials{width:50px;height:50px;color:var(--paper);background:var(--ink);font-family:var(--font-display);border-radius:14px;place-items:center;font-size:13px;display:grid;position:absolute;bottom:16px;right:16px}.profile-visual-label{color:var(--muted);font-family:var(--font-display);margin-top:12px;font-size:9px;display:block}.eyebrow,.detail-label,.section-label{color:var(--muted);font-family:var(--font-display);font-size:10px;font-weight:700;line-height:1.4}.eyebrow{margin:0 0 17px}.profile-details h1{font-family:var(--font-display);margin:0;font-size:clamp(58px,8vw,112px);font-weight:500;line-height:.98}.profile-role{max-width:450px;color:var(--muted);margin:31px 0 25px;font-size:15px;line-height:1.9}.profile-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--font-display);flex-wrap:wrap;gap:8px 18px;padding:14px 0;font-size:10px;display:flex}.profile-facts span+span:before{color:var(--accent);content:"/";margin-right:18px}.profile-actions{align-items:center;gap:23px;margin-top:31px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:0 17px;font-size:11px;font-weight:700;line-height:1;transition:background .18s,color .18s,transform .18s;display:inline-flex}.button span,.text-link span,.contact-email span,.social-links span{margin-left:8px;transition:transform .18s;display:inline-block}.button:hover,.text-link:hover,.contact-email:hover,.social-links a:hover{transform:translateY(-2px)}.button:hover span,.text-link:hover span,.contact-email:hover span,.social-links a:hover span{transform:translate(3px,-3px)}.button-dark{color:var(--paper);background:var(--ink)}.button-dark:hover{background:var(--accent)}.button-accent{color:var(--paper);background:var(--accent)}.button-accent:hover{background:var(--ink)}.text-link{border-bottom:1px solid var(--accent);align-items:center;padding:5px 0;font-size:11px;font-weight:700;transition:transform .18s,color .18s;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.profile-bio{border-top:1px solid var(--line);grid-template-columns:minmax(240px,.9fr) minmax(0,1fr);gap:clamp(40px,10vw,150px);padding-top:38px;display:grid}.profile-bio-lead{max-width:430px;margin:12px 0 0;font-size:20px;line-height:1.75}.profile-bio>p{max-width:470px;color:var(--muted);margin:23px 0 0;font-size:13px}.section{width:min(var(--max-width), 100%);margin:0 auto;padding:104px 32px}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:40px;display:flex}.section-label{align-items:center;gap:8px;margin-bottom:27px;display:flex}.section-label span,.service-number{color:var(--accent)}.section-heading-row h2{font-family:var(--font-display);margin:0;font-size:clamp(42px,5vw,68px);font-weight:500;line-height:1.08}h1 em,h2 em{color:var(--accent);font-style:normal}.section-note{color:var(--muted);text-align:right;margin:30px 0 0;font-size:12px;line-height:1.8}.about-section{border-top:1px solid var(--line)}.skill-panel{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.9fr) 1fr;gap:40px;margin-top:76px;padding-top:22px;display:grid}.skill-intro p{max-width:300px;margin:10px 0 0;font-size:13px}.skill-list{flex-wrap:wrap;align-content:flex-start;gap:9px;display:flex}.skill-list span{border:1px solid var(--line);color:var(--muted);background:var(--paper);font-family:var(--font-display);border-radius:999px;padding:7px 11px;font-size:10px}.works-section{background:var(--paper-soft)}.filter-bar{flex-wrap:wrap;gap:6px;margin:66px 0 38px;display:flex}.filter-button{border:1px solid var(--line);min-height:34px;color:var(--muted);font-family:var(--font-display);cursor:pointer;background:0 0;border-radius:999px;padding:0 14px;font-size:10px;transition:color .18s,border-color .18s,background .18s}.filter-button:hover,.filter-button.is-active{border-color:var(--accent);color:var(--paper);background:var(--accent)}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 22px;display:grid}.work-card{min-width:0;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.work-card:hover{transform:translateY(-6px)}.work-image{aspect-ratio:1.14;background:var(--paper);border-radius:18px;display:block;position:relative;overflow:hidden}.work-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.work-image:after{content:"";background:#1a1a1a08;transition:background .22s;position:absolute;inset:0}.work-image:hover img,.work-image:focus-visible img{transform:scale(1.05)}.work-image:hover:after,.work-image:focus-visible:after{background:#d96b4c1f}.work-number,.work-arrow{z-index:1;color:var(--paper);font-family:var(--font-display);font-size:10px;font-weight:700;position:absolute;top:13px}.work-number{left:13px}.work-arrow{font-size:18px;line-height:1;transition:transform .18s;right:13px}.work-image:hover .work-arrow,.work-image:focus-visible .work-arrow{transform:translate(3px,-3px)}.work-info{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-top:12px;display:flex}.work-info h3{font-family:var(--font-display);margin:0 0 2px;font-size:15px;font-weight:500}.work-info p,.work-info>span{color:var(--muted);margin:0;font-size:10px}.work-info>span{font-family:var(--font-display)}.services-section{background:var(--paper)}.service-list,.process-list{border-top:1px solid var(--line);margin-top:76px}.service-item{border-bottom:1px solid var(--line)}.service-summary{cursor:pointer;grid-template-columns:42px minmax(0,1fr) 24px;align-items:start;gap:18px;padding:23px 0;list-style:none;display:grid}.service-summary::-webkit-details-marker{display:none}.service-number{font-family:var(--font-display);font-size:10px;font-weight:700}.service-item h3,.process-item h3{font-family:var(--font-display);margin:-5px 0 5px;font-size:21px;font-weight:500}.service-item p,.process-item p{max-width:470px;color:var(--muted);margin:0;font-size:12px}.service-detail{max-width:600px;color:var(--muted);margin:-3px 42px 23px 60px;font-size:12px}.service-arrow{color:var(--accent);font-size:18px;line-height:1;transition:transform .18s,color .18s}.service-item:hover .service-arrow,.service-item[open] .service-arrow{color:var(--accent);transform:rotate(45deg)}.process-section{background:var(--paper-soft)}.process-item{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr);gap:18px;padding:20px 0;display:grid}.process-item>span{color:var(--accent);font-family:var(--font-display);font-size:10px;font-weight:700}.news-section{background:var(--paper)}.news-list{border-top:1px solid var(--line);margin:76px 0 0;padding:0;list-style:none}.news-item{border-bottom:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);align-items:baseline;gap:18px;padding:20px 0;display:grid}.news-item time{color:var(--accent);font-family:var(--font-display);font-size:10px}.news-item p{color:var(--muted);margin:0;font-size:12px}.contact-section{background:var(--paper);border-top:1px solid var(--line)}.contact-inner{width:min(var(--max-width), 100%);grid-template-columns:minmax(0,.9fr) minmax(320px,.85fr);gap:clamp(50px,12vw,160px);margin:0 auto;padding:104px 32px;display:grid}.eyebrow-accent{color:var(--accent)}.contact-copy h2{font-family:var(--font-display);margin:0 0 24px;font-size:clamp(42px,5vw,68px);font-weight:500;line-height:1.08}.contact-copy>p:not(.eyebrow){max-width:390px;color:var(--muted);margin:0 0 25px;font-size:13px}.contact-email{border-bottom:1px solid var(--accent);color:var(--accent);font-family:var(--font-display);align-items:center;padding-bottom:5px;font-size:12px;transition:transform .18s,color .18s;display:inline-flex}.social-links{flex-wrap:wrap;gap:19px;margin-top:24px;display:flex}.social-links a{border-bottom:1px solid var(--line);font-family:var(--font-display);align-items:center;padding-bottom:5px;font-size:11px;transition:transform .18s,color .18s;display:inline-flex}.social-links a:hover{color:var(--accent);border-color:var(--accent)}.contact-form{flex-direction:column;align-items:stretch;display:flex}.form-field+.form-field{margin-top:20px}.contact-form label{margin:0 0 6px;font-size:11px;display:block}.contact-form label span{color:var(--accent);margin-left:6px;font-size:9px}.contact-form input,.contact-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper-soft);resize:vertical;border-radius:14px;padding:10px 11px;font-size:13px;transition:border-color .18s,background .18s}.contact-form textarea{min-height:120px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9a9a9a}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);background:var(--paper);outline:none}.contact-form .button{align-self:flex-start;margin-top:27px}.form-note{color:var(--muted);margin:11px 0 0;font-size:9px}.site-footer{width:min(var(--max-width), 100%);color:var(--muted);font-family:var(--font-display);grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:0 auto;padding:25px 32px;font-size:9px;display:grid}.brand-footer{color:var(--ink)}.site-footer p{margin:0}.footer-links{justify-content:flex-end;align-items:center;gap:15px;display:flex}.footer-copy{margin-left:10px}.toast{z-index:30;max-width:min(390px,100vw - 40px);color:var(--paper);background:var(--ink);opacity:0;pointer-events:none;border-radius:14px;padding:13px 16px;font-size:11px;transition:opacity .18s,transform .18s;position:fixed;bottom:20px;right:20px;transform:translateY(12px)}.toast.is-visible{opacity:1;transform:translateY(0)}[data-reveal]{opacity:0;transition:opacity .62s,transform .62s;transform:translateY(19px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.work-card.is-hidden{display:none}@media (width<=900px){.profile-layout{grid-template-columns:minmax(190px,280px) minmax(0,1fr);gap:54px}.profile-details h1{font-size:clamp(56px,9vw,88px)}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-inner{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:55px}}@media (width<=700px){.site-header{padding:15px 20px}.brand-name{font-size:12px}.menu-toggle{display:inline-flex}.main-nav{color:var(--ink);background:var(--paper-soft);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:22px;padding:100px 24px 40px;font-size:25px;transition:opacity .22s,transform .22s;display:flex;position:fixed;inset:0;transform:translate(100%)}.main-nav.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.profile-hero{padding:60px 20px 66px}.profile-layout{flex-direction:column-reverse;align-items:stretch;gap:48px;min-height:auto;display:flex}.profile-details h1{font-size:clamp(56px,16vw,78px)}.profile-role{margin-top:24px;font-size:13px}.profile-facts{gap:7px 12px;font-size:9px}.profile-facts span+span:before{margin-right:12px}.profile-visual{width:min(100%,320px);margin:0 auto}.profile-bio{padding-top:30px;display:block}.profile-bio>p{margin-top:27px}.section,.contact-inner{padding:78px 20px}.section-heading-row{display:block}.section-heading-row h2,.contact-copy h2{font-size:clamp(42px,13vw,60px)}.section-note{text-align:left;margin-top:22px}.skill-panel{margin-top:55px;display:block}.skill-list{margin-top:22px}.filter-bar{flex-wrap:nowrap;margin:52px -20px 30px 0;padding-bottom:5px;padding-right:20px;overflow-x:auto}.filter-button{flex:none}.work-grid{display:block}.work-card{margin-bottom:48px}.work-image{aspect-ratio:1.15}.service-list,.process-list{margin-top:52px}.service-summary{grid-template-columns:35px minmax(0,1fr) 18px;gap:10px}.service-summary h3,.process-item h3{font-size:19px}.service-summary p,.process-item p{font-size:11px}.service-detail{margin:-3px 28px 20px 45px;font-size:11px}.process-item{grid-template-columns:35px minmax(0,1fr);gap:10px}.news-list{margin-top:52px}.news-item{grid-template-columns:1fr;gap:4px;padding:16px 0}.contact-inner{display:block}.contact-form{margin-top:52px}.site-footer{padding:23px 20px;display:block}.site-footer>p{margin-top:17px}.footer-links{flex-wrap:wrap;justify-content:flex-start;margin-top:17px}.footer-copy{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}.profile-visual{transform:none!important}}
