:root{color-scheme:light;--blue:#b6e6fa;--blue-dark:#39718a;--yellow:#ffdc78;--red:#ef795f;--ink:#584c49;--muted:#807673;--line:#e7ecee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif;-webkit-font-smoothing:antialiased}body:before,body:after{content:'';position:absolute;pointer-events:none;z-index:-1;background:var(--blue)}body:before{width:220px;height:380px;left:-150px;top:0;border-radius:30% 65% 70% 30%;transform:rotate(20deg)}body:after{width:110px;height:330px;right:0;top:940px;border-radius:90% 0 0 80%;opacity:.65}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--blue-dark);outline-offset:5px}.page{max-width:1080px;padding:0 64px;margin:auto}header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:24px;font-weight:700;letter-spacing:.18em}.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--red)}nav{display:flex;gap:28px;font-size:12px}nav a:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-right:7px}nav a:nth-child(2):before{background:var(--yellow)}nav a:nth-child(3):before{background:var(--red)}nav a:hover{color:var(--blue-dark)}.intro{position:relative;min-height:550px;padding:65px 48% 70px 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;margin-bottom:80px}.profile-icon{width:74px;height:74px;object-fit:cover;border-radius:50%;border:3px solid var(--blue);margin-bottom:23px}.eyebrow{font-size:9px;letter-spacing:.13em;margin:0 0 18px;background:#fff0ba;padding:5px 9px;border-radius:5px}h1{font-size:34px;letter-spacing:.08em;line-height:1.6;margin:0 0 20px;font-weight:700;white-space:nowrap}.intro-text{font-size:12px;line-height:2.3;white-space:pre-line;margin:0 0 28px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:35px;background:var(--yellow);padding:12px 21px;border-radius:99px;font-size:12px}.text-link:hover{background:#ffce50}.hero-art{position:absolute;right:0;top:34px;width:40%;height:480px;object-fit:cover;border-radius:48% 48% 15px 15px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}h2{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;margin:0}h2:before{content:'✿';color:var(--blue);font-size:31px;line-height:1}h2 span{font-size:10px;color:var(--muted);font-weight:400;margin-left:4px}.section-number{font-size:10px;letter-spacing:.1em;color:#8b9398}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px;align-items:start}figure{margin:0;min-width:0}.artwork{display:block;width:100%;padding:0;border:0;background:#f5fafd;border-radius:8px;overflow:hidden;cursor:zoom-in}.artwork img{display:block;width:100%;height:auto;transition:transform .25s}.artwork:hover img{transform:scale(1.025)}figcaption{display:flex;justify-content:space-between;gap:8px;font-size:11px;line-height:1.8;margin-top:11px;color:var(--muted)}.comics{margin-top:110px}.comics h2:before{color:var(--yellow)}.comic-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.comic-gallery figcaption{color:var(--ink);font-size:12px}.work-shop{display:inline-flex;background:var(--yellow);font-size:11px;border-radius:99px;padding:10px 18px;margin-top:12px}.work-shop:hover{background:#ffce50}.links{margin:110px 0 90px;padding:32px;background:#f1faff;border-radius:16px}.links h2:before{color:var(--red)}#link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.social-link{display:grid;grid-template-columns:65px 1fr auto;gap:12px;align-items:center;padding:23px 0;border-bottom:1px solid #d6e6ed}.social-label{font-size:21px}.social-subtitle{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.arrow{color:var(--blue-dark);font-size:21px}.social-link:hover{color:var(--blue-dark)}footer{display:flex;align-items:center;gap:25px;padding:30px 0 40px;border-top:1px solid var(--line)}footer .brand{font-size:16px}footer p{margin-left:auto;font-size:10px;color:var(--muted)}.back-top{font-size:10px;color:var(--muted)}.empty{padding:45px 20px;background:#f1faff;border-radius:12px;text-align:center;font-size:12px;line-height:2;color:var(--muted)}.empty span{display:block}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;z-index:5;background:#fff;padding:10px}dialog{border:0;border-radius:10px;background:#fff;padding:54px 24px 22px;max-width:94vw;max-height:94dvh;color:var(--ink)}dialog::backdrop{background:#29363ce6}dialog img{display:block;max-width:85vw;max-height:75dvh;object-fit:contain}dialog button{position:absolute;top:17px;right:20px;border:0;background:none;cursor:pointer;font-size:12px}dialog p{font-size:12px;margin-bottom:0}@media(max-width:750px){.page{padding:0 28px}.intro{padding-right:46%;min-height:470px;margin-bottom:55px}.hero-art{width:41%;height:370px;top:50px}h1{font-size:25px}.intro-text{font-size:11px}.eyebrow{font-size:7px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}#link-list{grid-template-columns:1fr}.comics{margin-top:80px}.links{margin-top:80px}nav{gap:16px}}@media(max-width:520px){header{height:85px;gap:12px}.brand{font-size:20px;gap:7px}nav{gap:12px;font-size:10px}nav a:before{width:4px;height:4px;margin-right:4px}.intro{padding:30px 0 0;min-height:0;margin-bottom:70px}.profile-icon{width:64px;height:64px;margin-bottom:20px}h1{font-size:29px}.intro-text{font-size:12px}.eyebrow{font-size:8px}.hero-art{position:relative;top:auto;right:auto;width:100%;height:350px;object-position:center 45%;margin-top:35px;border-radius:90px 90px 10px 10px}.gallery{gap:25px 14px}h2{font-size:21px;gap:8px}h2 span{font-size:9px}.comic-gallery{gap:14px}.comic-gallery figcaption{font-size:10px}.work-shop{font-size:10px;padding:9px 12px}.links{padding:24px 20px;margin-bottom:55px}.links h2{font-size:19px}.social-link{grid-template-columns:55px 1fr auto;gap:8px}.social-subtitle{font-size:10px}footer{flex-wrap:wrap;gap:12px}.back-top{flex-basis:100%;text-align:right}body:after{width:35px;top:1350px;height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Simple circles and an arched window silhouette. */
body:before,body:after{display:none}
h2:before{content:'';display:block;flex-shrink:0;width:13px;height:13px;border-radius:50%;background:var(--blue)}
.comics h2:before{background:var(--yellow)}
.links h2:before{background:var(--red)}
.hero-art{border-radius:50% 50% 0 0 / 40% 40% 0 0}
@media(max-width:750px){.hero-art{border-radius:50% 50% 0 0 / 37% 37% 0 0}}
@media(max-width:520px){.hero-art{height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:50% 50% 0 0 / 40% 40% 0 0}}
.comic-gallery figcaption{font-size:16px;font-weight:700;margin-top:18px}.comic-tags{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:12px 0 14px;padding:0;font-size:11px;line-height:1.8;color:var(--blue-dark)}.comic-tags li{background:#eff9fd;border-radius:5px;padding:2px 7px}.comic-synopsis{font-size:12px;line-height:2.1;white-space:pre-line;margin:0 0 6px;color:var(--ink)}@media(max-width:520px){.comic-gallery figcaption{font-size:12px}.comic-tags{font-size:10px;gap:5px;margin:10px 0}.comic-tags li{padding:2px 4px}.comic-synopsis{font-size:11px;line-height:1.95}}
.social-label{display:flex;align-items:center;gap:10px}.social-icon{width:42px;height:42px;object-fit:cover;border-radius:50%;flex-shrink:0}.social-link{grid-template-columns:92px 1fr auto}@media(max-width:520px){.social-link{grid-template-columns:80px 1fr auto}.social-icon{width:34px;height:34px}.social-label{gap:8px}}

.social-description{display:block;margin-top:5px;font-size:10px;color:var(--muted);line-height:1.6}
/* Crossfade within the existing window silhouette. */
.hero-stage{position:absolute;right:0;top:34px;width:40%;height:480px;overflow:hidden;border-radius:50% 50% 0 0 / 40% 40% 0 0}
.hero-stage .hero-art{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;object-fit:cover}
.hero-next{opacity:0;transition:opacity 1s ease-in-out}
.is-changing .hero-next{opacity:1}.reset-fade .hero-next{transition:none}
@media(max-width:750px){.hero-stage{width:41%;height:370px;top:50px;border-radius:50% 50% 0 0 / 37% 37% 0 0}}
@media(max-width:520px){.hero-stage{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/5;margin-top:35px;border-radius:50% 50% 0 0 / 40% 40% 0 0}}
/* Show each complete illustration in a simple picture frame. */
.hero-stage{border-radius:0;background:#fff;border:1px solid #c7d7df;box-shadow:4px 5px 0 #edf4f7;padding:14px}
.hero-stage .hero-art{inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);object-fit:contain;border-radius:0;background:#fff}
.pen-name{font-size:20px;letter-spacing:.12em;font-weight:700;margin:0 0 18px}.pen-name span{font-size:9px;font-weight:400;letter-spacing:.1em;color:var(--muted)}.profile-icon{margin-bottom:12px}
@media(max-width:750px){.hero-stage{border-radius:0}}
@media(max-width:520px){.hero-stage{border-radius:0}}
/* Keep the mat equally wide on every side, for every image ratio. */
.hero-stage{border:0;background:transparent;box-shadow:none;padding:0;overflow:visible}
.hero-stage .hero-art{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:100%;max-height:100%;padding:14px;border:1px solid #c7d7df;background:#fff;box-shadow:4px 5px 0 #edf4f7;object-fit:contain}

/* Slide framed artworks horizontally without fading. */
.hero-stage{overflow:hidden;padding:0}
.hero-stage .hero-art{box-shadow:none;transition:transform .8s ease-in-out;opacity:1}
.hero-stage .hero-next{transform:translate(calc(-50% + 520px),-50%);opacity:1;visibility:hidden}
.hero-stage.is-changing .hero-art:not(.hero-next){transform:translate(calc(-50% - 520px),-50%)}
.hero-stage.is-changing .hero-next{transform:translate(-50%,-50%);visibility:visible}
.hero-stage.reset-fade .hero-art{transition:none}
@media(max-width:750px){.hero-stage .hero-next{transform:translate(calc(-50% + 520px),-50%)}.hero-stage.is-changing .hero-art:not(.hero-next){transform:translate(calc(-50% - 520px),-50%)}.hero-stage.is-changing .hero-next{transform:translate(-50%,-50%)}}
/* Turn the current artwork like a page, revealing the next one. */
.hero-stage{perspective:1200px}
.hero-stage .hero-art{transform:translate(-50%,-50%);transition:none;backface-visibility:hidden}
.hero-stage .hero-art:not(.hero-next){z-index:2;transform-origin:left center;transition:transform 1.1s ease-in-out,filter 1.1s ease-in-out}
.hero-stage .hero-next{z-index:1;transform:translate(-50%,-50%);visibility:hidden}
.hero-stage.is-changing .hero-next{visibility:visible;transform:translate(-50%,-50%)}
.hero-stage.is-changing .hero-art:not(.hero-next){transform:translate(-50%,-50%) rotateY(-100deg);filter:brightness(.8)}
.hero-stage.reset-fade .hero-art{transition:none;filter:none}
/* Header and main visual together occupy the first screen. */
.intro{height:calc(100svh - 106px);min-height:440px;max-height:800px;margin-bottom:70px;padding-top:30px;padding-bottom:45px}
.hero-stage{top:50%;transform:translateY(-50%);height:min(68svh,560px);max-height:calc(100% - 50px)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.hero-actions .text-link{gap:20px}.comic-action{background:var(--blue)}.comic-action:hover{background:#9edbf5}
@media(max-width:750px){.intro{height:calc(100svh - 106px);min-height:400px}.hero-stage{top:50%;height:min(65svh,480px)}}
@media(max-width:520px){.intro{height:calc(100svh - 85px);min-height:560px;max-height:none;padding:10px 0 25px;justify-content:flex-start;margin-bottom:60px;align-items:center}.profile-icon{width:52px;height:52px;margin-bottom:8px}.pen-name{font-size:18px;margin-bottom:12px}.eyebrow{margin-bottom:0}.hero-actions{margin-top:16px;gap:10px}.hero-actions .text-link{font-size:11px;padding:10px 16px;gap:14px}.hero-stage{position:relative;top:auto;transform:none;flex:1;min-height:0;max-height:none;width:100%;height:auto;aspect-ratio:auto;margin-top:22px}.hero-stage .hero-art{max-width:100%;max-height:100%}}
.artwork{border-radius:0}
.artist-intro{font-size:13px;line-height:2.2;color:var(--ink);margin:16px 0 4px;letter-spacing:.025em}
@media(max-width:520px){.artist-intro{font-size:11px;line-height:1.9;text-align:center;margin:13px 0 0}.intro{min-height:620px}}

.work-sample{background:var(--blue);margin-right:10px}.work-sample:hover{background:#9edbf5}

.hero-stage .hero-art:not(.hero-next){transition:transform .9s ease-in-out,filter .9s ease-in-out}.hero-stage.reset-fade .hero-art{transition:none}

.social-label{font-size:18px}.social-link{grid-template-columns:100px 1fr auto}@media(max-width:520px){.social-label{font-size:16px}.social-link{grid-template-columns:86px 1fr auto}}
@media(max-width:750px){.comic-gallery{grid-template-columns:1fr;gap:44px}.comic-gallery figcaption{font-size:16px}.comic-tags{font-size:11px;gap:6px 10px;margin:12px 0 14px}.comic-tags li{padding:2px 7px}.comic-synopsis{font-size:12px;line-height:2.1}.work-shop{font-size:11px;padding:10px 18px}}
/* Readable link text on desktop and mobile. */
.social-label{font-size:20px}.social-subtitle{font-size:13px;line-height:1.8}.social-description{font-size:12px}.work-shop{font-size:13px}.text-link{font-size:13px}
@media(max-width:520px){.social-label{font-size:18px}.social-subtitle{font-size:12px}.social-description{font-size:11px}.social-link{grid-template-columns:94px 1fr auto}.work-shop{font-size:12px}.hero-actions .text-link{font-size:12px}}
.profile-heading{display:flex;align-items:center;gap:22px;margin-bottom:24px}.profile-heading .profile-icon{width:104px;height:104px;margin:0;flex-shrink:0}.profile-heading .pen-name{margin:0;font-size:24px}.profile-heading .pen-name span{display:block;margin-top:5px;font-size:10px}
@media(max-width:520px){.profile-heading{gap:18px;margin-bottom:18px}.profile-heading .profile-icon{width:84px;height:84px}.profile-heading .pen-name{font-size:23px}}
