:root{--paper:#fcf9f2;--ink:#49372f;--muted:#806e62;--line:#e0d8ca;--accent:#b25b3f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Maru Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-height:2;font-size:16px}a{color:inherit;text-underline-offset:7px}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}header{padding:14px 4%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fffdf9;min-height:105px}.logo{width:175px;flex-shrink:0}.logo img{width:100%;max-height:85px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:30px;align-items:center}nav a{font-size:14px;text-decoration:none;letter-spacing:.05em}nav a:hover{color:var(--accent)}.hero{background:white;padding:0 3%;overflow:hidden}.hero-art{display:flex;gap:18px;justify-content:center;height:calc(100svh - 159px);min-height:420px;max-height:870px}.hero-art img{height:100%;width:calc((100% - 36px)/3);object-fit:contain}.hero-foot{height:54px;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.18em;color:var(--muted)}.hero-foot a{text-decoration:none}.intro{text-align:center;padding:105px 24px 90px}.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--accent);margin:0 0 14px;font-weight:700}h1{font-size:clamp(27px,3vw,40px);letter-spacing:.12em;margin:0 0 24px;font-weight:700}h1 em{font-style:normal;color:var(--accent)}.intro>p:last-child{line-height:2.5;letter-spacing:.08em}h2{font-size:30px;letter-spacing:.09em;margin:0 0 22px}.section{max-width:1180px;margin:0 auto;padding:75px 35px;scroll-margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px;border-bottom:1px solid var(--line);padding-bottom:16px}.section-head h2{margin:0}.section-head>p{font-size:14px;color:var(--muted)}.works{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 24px}.work{text-decoration:none;display:block}.work img{width:100%;aspect-ratio:374/640;object-fit:contain;background:white;transition:transform .25s}.work:hover img{transform:translateY(-5px)}.work span{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-top:12px;color:var(--muted)}.work b{font-size:16px;font-weight:400}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:center;border-top:1px solid var(--line);margin-top:70px}.portrait img{width:100%;max-height:440px;object-fit:contain;mix-blend-mode:multiply}.about p{line-height:2.2}.text-link{display:inline-block;margin-top:20px}.links{text-align:center;padding-bottom:95px}.social{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.social a{text-align:left;text-decoration:none;font-size:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 10px}.social span{display:block;font-size:13px;color:var(--muted);margin-top:5px}footer{text-align:center;border-top:1px solid var(--line);padding:40px 20px;font-size:12px;color:var(--muted)}footer>a{text-decoration:none;font-size:17px;color:var(--ink)}@media(max-width:760px){header{flex-direction:column;padding:14px 16px;gap:10px}.logo{width:140px}nav{gap:18px;flex-wrap:wrap;justify-content:center}nav a{font-size:12px}.hero{padding:0 12px}.hero-art{height:64svh;min-height:380px;gap:10px;overflow-x:auto;justify-content:flex-start;scroll-snap-type:x mandatory}.hero-art img{width:85%;flex:none;scroll-snap-align:center;object-fit:contain}.hero-foot{font-size:10px}.intro{padding:65px 22px}.section{padding:45px 22px}.section-head{display:block}.section-head>p{margin-bottom:0}h2{font-size:25px}.works{grid-template-columns:repeat(2,1fr);gap:28px 15px}.work span{font-size:11px}.about{grid-template-columns:1fr;gap:20px;margin-top:30px}.portrait img{max-height:320px}.social{grid-template-columns:1fr;gap:0}.social a{display:flex;align-items:center;justify-content:space-between;border-bottom:0}.social a:last-child{border-bottom:1px solid var(--line)}.social span{margin:0}.links{padding-bottom:65px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work img{transition:none}}
.design-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}.design-card{text-decoration:none}.design-card img{width:100%;height:240px;object-fit:contain;background:#fff;padding:20px}.design-card h3{font-size:18px;line-height:1.6}.design-card p{font-size:14px;color:var(--muted)}.project{border-bottom:1px solid var(--line)}.project-images{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin:35px 0}.project-images img{width:100%;max-height:540px;object-fit:contain;background:#fff;padding:20px}@media(max-width:760px){.design-grid,.project-images{grid-template-columns:1fr}.design-card img{height:280px}}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:30px 0}.metrics>div{border-top:2px solid var(--line);padding:20px 0}.metrics dt{font-size:14px;color:var(--muted)}.metrics dd{margin:8px 0;font-size:46px;font-weight:700;color:var(--accent);line-height:1.3}.metrics dd span{font-size:20px;margin-left:6px}.metric-note{font-size:14px;color:var(--muted)}.event-results{background:#f3ecdd;border-radius:20px;margin-bottom:60px}.logo{width:230px}nav{flex-wrap:wrap;justify-content:flex-end;gap:20px}.design-card:focus-visible{outline-offset:8px}@media(max-width:760px){.metrics{grid-template-columns:1fr;gap:0}.event-results{margin:0 16px 40px}.logo{width:210px}nav{justify-content:center;gap:12px 18px}.project h2{font-size:24px}}

.link-mark,.social .link-mark{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;margin:0 0 0 .35em;border-radius:50%;background:#f5e5d7;color:#a55d42;font-size:.72em;line-height:1;vertical-align:middle;flex-shrink:0;padding-left:.08em}
.choroli-page{background:#fff9ef}.choroli-page header{background:#fff9ef;border-bottom:1px solid var(--line)}.choroli-hero{max-width:1150px;margin:auto;padding:40px 24px 0;text-align:center}.choroli-hero h1{margin:0 auto;width:min(450px,85%)}.choroli-hero h1 img{width:100%;mix-blend-mode:multiply}.choroli-hero>img{width:100%;border-radius:22px}.choroli-hero>p{margin:20px 0 32px;letter-spacing:.09em}.friend-profiles{display:grid;grid-template-columns:1fr 1fr;gap:40px}.friend-profiles article{padding:24px;background:#fff;border-radius:24px}.friend-profiles img{border-radius:14px;width:100%}.friend-profiles h3{font-size:25px}.choroli-button{display:inline-flex;align-items:center;gap:12px;padding:12px 22px;border:1px solid #d6b38b;border-radius:30px;background:#fff3dc;text-decoration:none;font-size:15px}.choroli-button:hover{background:#f7e6c9}.puzzle-preview,.choroli-shop{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:30px 0}.puzzle-preview img{width:100%;height:340px;object-fit:contain}.choroli-shop img{height:240px;width:100%;object-fit:contain;background:white;border-radius:16px}.choroli-shop h3{font-size:18px}.choroli-shop p{font-size:15px}.game-feature,.original-feature{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;background:#f4ecd9;border-radius:28px}.game-feature img{max-height:350px;object-fit:contain;margin:auto}.original-feature img{border-radius:16px}.choroli-follow{text-align:center}.puzzle-archive{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 28px;padding-top:0}.puzzle-archive article{scroll-margin-top:20px}.puzzle-archive h2{font-size:16px}.puzzle-archive img{width:100%;height:auto}.puzzle-archive summary{cursor:pointer;padding:12px 16px;border-radius:12px;background:#f3e6d2;margin-top:12px}.puzzle-archive details img{margin-top:15px}.choroli-page .section h2{line-height:1.7}@media(max-width:760px){.friend-profiles,.game-feature,.original-feature{grid-template-columns:1fr;gap:20px}.choroli-shop{grid-template-columns:1fr;gap:35px}.puzzle-preview{gap:12px}.puzzle-preview img{height:auto}.puzzle-archive{grid-template-columns:1fr;gap:35px}.game-feature,.original-feature{margin:20px 16px}.choroli-hero{padding-top:25px}.friend-profiles article{padding:15px}.choroli-hero>p{font-size:14px}.choroli-shop img{height:auto;max-height:360px}}

/* Portfolio additions */
.intro + .about{margin-top:0;padding-top:35px;border-top:0}.art-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;margin:36px 0}.art-gallery figure{margin:0;min-width:0}.art-gallery img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:12px}.art-gallery figcaption{font-size:14px;margin-top:12px}.portrait-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:28px 0 32px}.portrait-preview img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:12px;background:white}.series-feature,.website-case{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:center}.series-feature>img{border-radius:14px}.browser-shot{display:block;text-decoration:none;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white;box-shadow:0 10px 25px #49372f10}.browser-bar{display:block;background:#eee8dc;color:#b9a98e;font-size:11px;padding:8px 15px;letter-spacing:3px}.browser-bar span{letter-spacing:0;margin-left:20px;color:var(--muted)}.browser-shot img{width:100%;height:auto}.website-case h3{font-size:24px}.website-case p{font-size:15px}.website-detail{margin-top:28px}.website-detail summary{cursor:pointer;color:var(--muted)}.website-detail img{margin-top:20px;max-width:850px;width:100%;border-radius:12px}#portraits{background:#f5eddf;border-radius:22px}#princess .portrait-preview{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.art-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.portrait-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.series-feature,.website-case{grid-template-columns:1fr;gap:22px}.intro + .about{padding-top:10px}#portraits{border-radius:0}.website-case h3{font-size:22px}.browser-bar span{margin-left:8px}}

.contact-invitation{text-align:center;background:#f4ecdf;border-radius:28px;margin:35px auto 70px}.contact-invitation h2{font-size:clamp(24px,3vw,32px)}@media(max-width:760px){.contact-invitation{margin:25px 16px 45px;border-radius:22px}}

.friend-art-grid,.comic-art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.friend-art-grid article,.comic-art-grid figure{margin:0;min-width:0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:20px}.friend-art-grid h3{margin:0 0 14px;font-size:21px}.friend-art-grid img,.comic-art-grid img{width:100%;height:auto;border-radius:12px}.comic-art-grid figcaption{margin-top:12px;color:var(--muted);font-size:13px}.chinmari-map>img{width:100%;height:auto;margin-top:25px;border-radius:20px}.chinmari-map>p:not(.eyebrow){font-size:15px}@media(max-width:760px){.friend-art-grid,.comic-art-grid{grid-template-columns:1fr}.friend-art-grid article,.comic-art-grid figure{padding:12px}.chinmari-map>img{border-radius:12px}}

.choroli-calendar-link{padding-top:0}.choroli-calendar-card{padding:28px 32px;border:1px solid #ead7bc;border-radius:24px;background:#fffdf7}.choroli-calendar-card>img{display:block;width:min(100%,460px);margin:0 auto 24px;border-radius:16px}.choroli-calendar-card h3{margin:0 0 8px;font-size:24px}.choroli-calendar-card p{margin:0 0 18px;font-size:15px}@media(max-width:760px){.choroli-calendar-card{padding:22px 20px;border-radius:18px}.choroli-calendar-card>img{margin-bottom:18px;border-radius:12px}.choroli-calendar-card h3{font-size:20px}.choroli-calendar-card p{font-size:14px}}
