:root {--ink:#494e58;--rose:#b0606c;--border:#e5e5e5;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:20px/1.19 Georgia,"Times New Roman",serif}
a{color:inherit}img{max-width:100%}
.page-shell{max-width:1450px;margin:auto;padding:0 24px}
.skip-link{position:absolute;top:-100px;left:20px;background:#fff;z-index:4;padding:8px}
.skip-link:focus{top:10px}
.masthead{text-align:center;padding:15px 0 38px;position:relative}
.language-switch{position:absolute;top:20px;right:10px;font:14px var(--sans);display:flex;gap:10px;align-items:center}
.language-switch a{text-decoration:none;padding:6px 2px}
.language-switch a[aria-current="page"]{border-bottom:2px solid var(--rose);font-weight:700}
.main-logo{width:148px;height:148px;object-fit:contain;margin:0 auto 23px;display:block}
.masthead h1{font-size:clamp(42px,5vw,64px);font-weight:400;line-height:1.03;margin:0 0 10px;letter-spacing:-.035em}
.masthead-tagline{font-size:19px;margin:0 0 31px}
.social-links{display:flex;justify-content:center;align-items:center;gap:45px}
.social-links a{display:flex;align-items:center;justify-content:center;width:70px;height:70px;color:#444}
.social-links svg{width:62px;height:62px}
.social-links a:focus-visible,.site-nav a:focus-visible,.gallery-link:focus-visible,.contact-actions a:focus-visible{outline:3px solid var(--rose);outline-offset:4px}
.site-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 30px;margin-top:26px;font:12px var(--sans);text-transform:uppercase;letter-spacing:.1em}
.site-nav a{text-decoration:none;opacity:.82}
.site-nav a:hover,.contact-actions a:hover{color:var(--rose)}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:start}
.intro-split{grid-template-columns:42% 1fr;gap:clamp(50px,9.5vw,138px);padding:42px 0 80px}
.intro-image img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.intro-copy{padding-top:0;font-size:23px;line-height:1.24}
.intro-copy p{margin:0 0 24px}
.accent-rule{border-top:4px solid #4a4f58;margin:37px 0 24px;width:100%}
.technique{grid-template-columns:27% 1fr;gap:0;align-items:stretch;margin:8px 0 40px}
.technique-copy{padding:60px 42px 25px 0}
.technique h2,.about-copy h2{font:700 clamp(42px,4vw,60px)/.99 var(--sans);margin:0 0 28px;letter-spacing:-.025em}
.technique-lead{font-weight:700;font-size:25px;line-height:1.16;margin:0 0 57px}
.dark-button{display:block;max-width:300px;padding:24px 20px;text-align:center;text-decoration:none;font:20px var(--sans);color:#fff;background:#494e58}
.dark-button:hover{background:var(--rose)}
.technique-photo{display:block;width:100%;height:750px;object-fit:cover}
.photo-section{margin:0 0 62px}
.masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.masonry-column{display:flex;flex-direction:column;gap:19px}
.gallery-link{display:block;overflow:hidden;background:#f6f6f6}
.gallery-link img{display:block;width:100%;height:auto;transition:transform .3s ease}
.gallery-link:hover img{transform:scale(1.025)}
.history-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px;padding:8px 0 110px;font-size:20px;line-height:1.17}
.history-columns p{margin:0 0 26px}
.chibigami-section{padding-bottom:70px}
.chibigami-section h2{font:400 clamp(34px,4vw,46px)/1.2 var(--sans);color:var(--rose);margin:0 0 45px;padding-left:60px}
.chibigami-feature{grid-template-columns:1fr 1fr;gap:38px;margin-bottom:48px}
.chibigami-copy{font-size:19px;line-height:1.19}
.chibigami-copy p{margin:0 0 22px}
.chibigami-feature>img{display:block;width:100%;max-height:500px;object-fit:cover}
.about-section{grid-template-columns:1fr 1fr;gap:65px;align-items:start;padding:72px 0 112px}
.about-copy{font-size:19px;line-height:1.18}
.about-copy h2{font-size:42px;margin-bottom:46px}
.about-copy p{margin:0 0 23px}
.about-photo{display:block;width:100%;height:auto;max-height:850px;object-fit:contain;object-position:top center}
.contact-section{text-align:center;padding:65px 0 90px;border-top:1px solid var(--border)}
.contact-section h2{font:400 42px var(--sans);margin:0 0 16px;color:var(--rose)}
.contact-section p{font-size:19px}
.contact-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:15px 35px;margin:36px auto 0;font:16px var(--sans)}
.contact-actions a{text-decoration:none;border-bottom:1px solid #aaa;padding:5px 0}
footer{display:flex;justify-content:space-between;gap:20px;padding:26px 0;border-top:1px solid var(--border);font:12px var(--sans);color:#777}
@media(max-width:1000px){body{font-size:18px}.intro-split{gap:40px}.intro-copy{font-size:19px}.technique-copy{padding:30px 24px 20px 0}.technique-lead{font-size:21px;margin-bottom:30px}.technique-photo{height:560px}.history-columns{gap:28px;font-size:18px}.chibigami-feature{gap:26px}.about-section{gap:36px}}
@media(max-width:700px){.page-shell{padding:0 16px}.masthead{padding:45px 0 25px}.language-switch{top:10px;right:3px}.main-logo{height:112px;width:112px;margin-bottom:20px}.masthead h1{font-size:41px}.masthead-tagline{font-size:17px;margin-bottom:16px}.social-links{gap:30px}.social-links a{width:48px;height:48px}.social-links svg{width:45px;height:45px}.site-nav{margin-top:25px;gap:13px 20px;font-size:11px}.intro-split,.technique,.chibigami-feature,.about-section{display:grid;grid-template-columns:1fr;gap:22px}.intro-split{padding:35px 0 55px}.intro-copy{font-size:19px}.accent-rule{margin:25px 0}.technique{margin-top:10px}.technique-copy{padding:14px 0}.technique h2{font-size:44px}.technique-lead{max-width:580px}.technique-photo{height:auto;aspect-ratio:4/3}.dark-button{width:190px;padding:17px 14px}.masonry{gap:10px}.masonry-column{gap:10px}.history-columns{grid-template-columns:1fr;gap:5px;padding-bottom:65px;font-size:18px}.history-columns p{margin-bottom:21px}.chibigami-section h2{padding-left:0;margin-bottom:25px}.chibigami-copy{font-size:18px}.about-section{padding:55px 0 70px}.about-copy h2{margin-bottom:28px}.about-photo{max-height:none;max-width:600px;margin:auto}.contact-section{padding:55px 0 70px}}
@media(max-width:480px){.masonry{grid-template-columns:1fr 1fr}.masonry-column:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.page-shell{padding:0 12px}.intro-copy{font-size:18px}.about-copy{font-size:18px}footer{display:block}footer span{display:block;margin:6px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-link img{transition:none}}
