:root{--paper:#fcfcf9;--ink:#203e49;--muted:#526b73;--blue:#215f76;--pale:#eaf2f4;--line:#bdcfd4;--serif:'Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--body:1.125rem;--ui:1rem;--caption:.875rem;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{font-size:100%;scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:var(--body)/1.95 var(--sans);letter-spacing:.02em;font-kerning:normal}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:4px}p{margin:0 0 1.55em}h1,h2,h3{font-weight:500;margin:0 0 .8em;line-height:1.5;overflow-wrap:anywhere}h1,h2,h3{font-family:var(--serif);font-kerning:normal;font-feature-settings:'palt' 1;letter-spacing:.005em}h2{font-size:clamp(2rem,1rem + 2.8vw,3.5rem)}h3{font-size:1.5rem}small{font-size:.875rem}.wrap{width:calc(100% - 128px);max-width:1408px;margin-inline:auto}.section,.chapter{padding-block:120px}.prose{max-inline-size:38em;min-width:0}.prose p{margin-bottom:1.6em}.accent{color:var(--blue)}.eyebrow{font:500 .875rem/1.7 var(--sans);letter-spacing:.13em;color:var(--blue);margin-bottom:2em}.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:50;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}.site-header{display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:130px}.brand{max-inline-size:100%;min-inline-size:0;display:inline-flex;flex-direction:column;flex-shrink:0;line-height:1.2}.brand-name{font:600 1.9rem/1.2 var(--serif);letter-spacing:.045em}.brand-dot{color:var(--blue)}.brand-sub{overflow-wrap:anywhere;font-size:.875rem;letter-spacing:.17em;color:var(--muted);margin-top:10px}nav{display:flex;align-items:center;gap:35px;font-size:1rem}nav a{position:relative}nav a:hover{color:var(--blue)}.nav-contact{display:flex;gap:24px;border-bottom:1px solid var(--blue);padding-block:8px}.site-header nav a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:8px}.menu-toggle{display:none}.skip{position:fixed;inset:-150px auto auto 20px;background:var(--ink);color:white;padding:12px 25px;z-index:100}.skip:focus{top:10px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:64px;max-width:100%;padding:18px 24px 18px 28px;border:1px solid var(--blue);background:var(--blue);color:white;font:500 1rem/1.7 var(--sans);transition:background .25s var(--ease),box-shadow .25s var(--ease)}.button-arrow{display:grid;place-items:center;font-size:1.4rem;min-width:30px;transition:translate .25s var(--ease)}.button:hover{background:#17485c;box-shadow:0 5px 16px #1b4e6517}.button:hover .button-arrow{translate:3px -3px}.button:visited{color:white}.text-link{display:inline-flex;gap:28px;align-items:baseline;padding:10px 0;border-bottom:1px solid #738f99;line-height:1.7;font-size:1rem;transition:color .2s}.text-link:hover{color:var(--blue)}.text-link span{transition:translate .25s}.text-link:hover span{translate:3px -3px}.mobile-only{display:none}
/* Prologue: a sheet, a spine, an opening. */
.hero{padding-top:14px}.hero-kicker{display:flex;justify-content:space-between;gap:25px;padding-bottom:26px;border-bottom:1px solid var(--line)}.hero-kicker p{margin:0;font-size:.875rem}.hero-edition{color:var(--muted)}.hero-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:18px;align-items:center;padding-block:38px 42px;min-height:690px}.hero-copy{position:relative;z-index:2;padding-block:15px}.hero h1{font-size:clamp(3rem,1.65rem + 4vw,5.75rem);line-height:1.45;letter-spacing:0;margin:0 0 35px}.punct{margin-inline:-.09em}.hero-word{white-space:normal}.hero-description{font-size:1.0625rem;line-height:2.1;margin-bottom:30px;letter-spacing:.02em}.hero-stage{position:relative;align-self:stretch;min-height:580px;background:radial-gradient(ellipse at 52% 42%,#e5eff0 0%,#f0f5f4 42%,#f8faf7 65%,transparent 74%);display:flex;flex-direction:column;justify-content:center;align-items:center;isolation:isolate}.stage-cross{position:absolute;color:#7d9eaa;font-size:1rem;font-weight:300}.stage-cross-a{inset:20px auto auto 14px}.stage-cross-b{inset:auto 12px 84px auto}.page-sculpture{width:100%;height:470px;position:relative;display:grid;place-items:center;perspective:1400px}.sculpture-book{position:relative;width:265px;height:360px;transform-style:preserve-3d;transform:rotateX(9deg) rotateY(-24deg) rotateZ(9deg);transition:transform 1.2s var(--ease)}.sculpture-shadow{position:absolute;left:18%;right:6%;height:22px;bottom:18px;border-radius:50%;background:#2d52682b;filter:blur(16px);transform:rotate(-10deg)}.page-base,.page-leaf,.page-inside,.page-cover{position:absolute;inset:0;transform-origin:left center;backface-visibility:hidden}.page-base{background:#376c7d;transform:translateZ(-16px);box-shadow:2px 3px 0 #8aa9b0,4px 6px 0 #e1e4dd,6px 9px 0 #d6ddd8,8px 12px 0 #ecede4,10px 15px 0 #367183}.page-leaf{background:linear-gradient(90deg,#c9d5d1 0,#fafbf3 15%,#fdfdf8 90%,#e3e8de);border:1px solid #dbe2dc;border-left:0}.leaf-one{transform:translateZ(-6px) rotateY(2deg)}.leaf-two{transform:translateZ(-3px) rotateY(4deg)}.page-inside{display:flex;flex-direction:column;justify-content:space-between;padding:34px 25px 24px 30px;background:linear-gradient(90deg,#dbe3da,#fffef6 12%,#fffef8);box-shadow:1px 0 0 #b4c2be;transform:translateZ(0)}.page-inside-label{font:400 .625rem/1.6 var(--sans);letter-spacing:.14em;color:#476b76}.page-inside-copy{font:400 1.625rem/1.8 var(--serif);color:var(--blue);letter-spacing:.01em}.page-inside-number{font:italic 1rem Georgia,serif;color:#5f7f88}.page-cover{display:flex;flex-direction:column;justify-content:space-between;padding:28px 23px 24px 30px;color:#f7fbf8;background:linear-gradient(105deg,#306b7d,#53879a 7%,#3c748a 12%,#285d74 100%);border-left:2px solid #1b4d60;box-shadow:1px 1px 0 #8faeb9;transform:translateZ(2px);transition:transform 1.3s var(--ease)}.cover-brand{font:500 .75rem/1.5 var(--sans);letter-spacing:.15em}.cover-glyph{font:400 7.5rem/1 var(--serif);text-align:center;margin:8px 0 0;color:#e7f0e8}.cover-subtitle{font:400 1.1rem/1.8 var(--serif);letter-spacing:.03em}.cover-footer{font:400 .5rem/1.5 var(--sans);letter-spacing:.12em;color:#d2e4e9}.hero-stage.is-open .page-cover{transform:translateZ(3px) rotateY(-140deg)}.hero-stage.is-open .leaf-two{transform:translateZ(-3px) rotateY(4deg);transition:transform 1.3s var(--ease)}.hero-stage.is-open .sculpture-book{transform:translateX(45px) rotateX(5deg) rotateY(-12deg) rotateZ(3deg)}.stage-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;width:100%;padding:20px 15px 0}.stage-caption p{font-size:.875rem;margin:0;color:var(--muted)}.open-book{display:flex;gap:16px;align-items:center;border:0;border-bottom:1px solid #7897a3;padding:10px 0;background:transparent;font-size:1rem;line-height:1.7;white-space:nowrap}.open-book span:last-child{color:var(--blue);font-size:1.25rem}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:22px 32px;border-top:1px solid var(--line)}.hero-bottom p{font-size:.875rem;color:var(--muted);margin:0}.hero-bottom a{font-size:1rem}.hero-bottom a span{margin-left:30px}.chapter-nav{position:sticky;top:0;background:#fcfcf9f5;backdrop-filter:blur(12px);z-index:20;border-block:1px solid var(--line)}.chapter-nav>div{display:grid;grid-template-columns:repeat(4,1fr)}.chapter-nav a{padding:20px 15px 20px 0;font-size:1rem;display:flex;gap:20px;align-items:center;line-height:1.6}.chapter-nav a span{font-size:.875rem;color:var(--muted);font-family:Georgia,serif}.chapter-nav a[aria-current=location]{color:var(--blue)}.chapter-nav a[aria-current=location]:after{content:'';position:absolute;bottom:-1px;left:0;width:calc(100% - 30px);height:2px;background:var(--blue)}
/* Chapters */
.section-label{display:flex;align-items:center;gap:30px;font-size:.875rem;line-height:1.8;margin-bottom:62px}.section-label span:first-child{font-size:.875rem;color:var(--blue);letter-spacing:.14em}.section-label span:last-child{color:var(--muted)}.philosophy{position:relative;background:#eef4f4}.philosophy-content{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:start}.philosophy h2{font-size:clamp(2rem,1rem + 2.7vw,3.5rem);line-height:1.65}.philosophy-content .prose{padding-top:10px}.philosophy-sign{font-family:Georgia,serif;font-size:clamp(2rem,1rem + 5.5vw,6.5rem);letter-spacing:-.035em;line-height:1.1;color:#668894;display:flex;flex-wrap:wrap;gap:.15em .3em;margin-top:75px;border-top:1px solid #cadbdd;padding-top:30px}.service-section{position:relative}.service-lead{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:start}.service-lead h2{margin-bottom:22px}.service-name{font-size:1rem;color:var(--muted)}.craft-steps{margin-top:85px;border-top:1px solid var(--line)}.craft-steps article{display:grid;grid-template-columns:.75fr 1fr 1.1fr;align-items:start;gap:30px;padding:35px 0;border-bottom:1px solid var(--line)}.craft-index{display:flex;align-items:baseline;gap:28px;margin:0;color:var(--blue);font-family:Georgia,serif;font-size:1.5rem;line-height:1.7}.craft-index span{font:400 .875rem/1.7 var(--sans);letter-spacing:.13em}.craft-steps h3{font-size:2rem;margin:0;line-height:1.4}.craft-steps article>p:last-child{font-size:1rem;color:var(--muted);margin:0}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:baseline;margin-bottom:55px}.section-top h2{margin:0}.works-section{background:#f3f6f4;border-block:1px solid var(--line)}.book-grid{display:grid;grid-template-columns:1fr;gap:80px}.book-card>a{display:grid;grid-template-columns:1.12fr 1fr;gap:80px;align-items:center}.book-visual{position:relative;padding:64px 45px;display:grid;place-items:center;background:linear-gradient(135deg,#e4edf0,#d5e5eb 65%,#ccdee6);isolation:isolate}.book-visual:before{content:'';position:absolute;inset:17px;border:1px solid #ffffffa6;pointer-events:none;z-index:-1}.book-visual img{width:100%;max-width:420px;height:auto;object-fit:contain;box-shadow:10px 18px 28px #244e6524;transition:translate .55s var(--ease),box-shadow .55s var(--ease)}.book-card a:hover img{translate:0 -7px;box-shadow:12px 25px 35px #244e652b}.visual-label{position:absolute;top:25px;left:28px;font-size:.875rem;letter-spacing:.08em;color:#466875}.visual-corner{position:absolute;bottom:17px;right:25px;font-size:1.5rem;color:var(--blue)}.book-info{min-width:0}.book-info .eyebrow{margin-bottom:30px}.book-info h3{font-size:clamp(1.75rem,1.1rem + 1.8vw,2.8rem);line-height:1.6;margin-bottom:20px}.book-credit{font-size:1.0625rem;color:var(--muted);line-height:1.9;margin-bottom:35px}.message-section{display:grid;grid-template-columns:1fr 1.05fr;gap:100px;align-items:center;padding-block:140px}.portrait-frame{position:relative;align-self:start;margin-top:12px}.portrait-frame:before{content:'';position:absolute;inset:28px -24px -8px 24px;background:#e7eff0;z-index:-1}.portrait-frame img{width:100%;aspect-ratio:1/1.1;object-fit:cover;object-position:50% 23%}.portrait-caption{display:block;margin-top:20px;font-size:.875rem;line-height:1.7;letter-spacing:.11em;color:var(--muted)}.message-copy{min-width:0}.message-copy .section-label{margin-bottom:35px}.message-copy h2{margin-bottom:35px}.signature{display:flex;align-items:baseline;gap:25px;margin:35px 0 25px}.signature span{font-size:.875rem;color:var(--muted)}.signature strong{font:400 1.75rem/1.6 var(--serif)}.contact-band{background:var(--blue);color:#f6f9f7;padding-block:100px;position:relative}.contact-band:before{content:'';position:absolute;inset:20px;border:1px solid #effaff26;pointer-events:none}.contact-inner{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.contact-inner .eyebrow{color:#d2e6eb;margin-bottom:28px}.contact-inner h2{font-size:clamp(2rem,1rem + 3vw,3.75rem);line-height:1.5}.contact-inner p:last-child{margin:0;font-size:1.0625rem;color:#e1edf0}.contact-inner>.button{justify-self:end;background:var(--paper);color:var(--blue);border-color:var(--paper);min-width:300px}.contact-inner>.button:hover{background:#dfebee}.site-footer{padding-top:75px;padding-bottom:30px}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:50px;padding-bottom:65px}.footer-top p{font-size:1rem;margin:25px 0 0}.footer-top nav{flex-wrap:wrap;justify-content:flex-end}.footer-bottom{padding-top:28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;color:var(--muted);font-size:.875rem}.footer-bottom>div{display:flex;gap:30px}
/* Interior pages share the same editorial grid. */
.page-heading{padding-top:75px;padding-bottom:65px;border-bottom:1px solid var(--line)}.page-heading .eyebrow{margin-bottom:30px}.page-heading h1{font-size:clamp(2.25rem,1.4rem + 3.5vw,4.5rem);line-height:1.5;margin-bottom:25px}.page-heading>p:last-child{color:var(--muted);margin:0}.intro-grid,.split{display:grid;grid-template-columns:.8fr 1.35fr;gap:100px}.intro-grid .prose h2,.split h2{font-size:clamp(1.8rem,1rem + 2vw,2.75rem)}.soft{background:var(--pale)}.audience-list{list-style:none;padding:0;margin:50px 0 0}.audience-list li{display:flex;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}.audience-list li:before{content:'↗';color:var(--blue);font-size:1.25rem}.section-intro{max-width:40em}.flow-list{list-style:none;padding:0;margin:55px 0 0}.flow-list li{display:grid;grid-template-columns:100px 1fr;gap:30px;border-top:1px solid var(--line);padding:35px 0}.flow-list li>span{font:italic 2.5rem/1.4 Georgia,serif;color:var(--blue)}.flow-list h3{margin-bottom:15px;font-size:1.625rem}.flow-list p{margin:0;max-width:42em}.faq-section{border-top:1px solid var(--line)}.faq{margin-top:45px}.faq details{border-bottom:1px solid var(--line)}.faq summary{position:relative;list-style:none;cursor:pointer;padding:28px 55px 28px 0;font-size:1.125rem;line-height:1.8}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'＋';position:absolute;right:10px;top:28px;color:var(--blue)}.faq details[open] summary:after{content:'−'}.faq details p{color:var(--muted);max-width:48em;padding-right:50px}.related{margin-top:45px}.about-message{display:grid;grid-template-columns:.85fr 1.25fr;gap:100px}.about-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%;background:#eaf0ef}.about-photo .eyebrow{margin:30px 0 15px}.about-photo>p{font-size:1rem;margin-bottom:18px}.about-photo h2{font-size:2rem}.about-message article h2{font-size:2.5rem;margin-bottom:40px}.info-table{margin:0}.info-table>div{display:grid;grid-template-columns:140px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}.contact-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:100px}.contact-layout h2{font-size:2rem}.contact-layout aside p{color:var(--muted);font-size:1rem}.form-notice{font-size:1rem;padding:24px 28px;background:var(--pale);border-left:3px solid var(--blue);margin-bottom:40px;line-height:1.9}.form-notice p{margin:5px 0 0}.legal{max-width:800px}.legal h2{font-size:1.65rem;margin-top:2em}.book-detail{display:grid;grid-template-columns:1fr 1.2fr;gap:95px;align-items:start}.book-detail>img{width:100%;height:auto;object-fit:contain;max-height:650px}.book-detail .prose{padding-top:15px}.book-detail .text-link{margin-top:20px}.page-works .works-page .book-card{padding-bottom:60px;border-bottom:1px solid var(--line)}
/* Motion never gates access to the page. */
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive 1s var(--ease) both}.hero-stage{animation:arrive 1.4s var(--ease) both}.motion-enabled [data-reveal]{transition:opacity .8s var(--ease),translate .8s var(--ease)}.motion-enabled [data-reveal].waiting{opacity:0;translate:0 20px}.motion-enabled [data-reveal].revealed{opacity:1;translate:0 0}}@keyframes arrive{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@media(min-width:1600px){.hero-layout{min-height:760px}.sculpture-book{width:300px;height:410px}.page-sculpture{height:500px}.cover-glyph{font-size:9rem}}
@media(max-width:1150px){.wrap{width:calc(100% - 80px)}.site-header nav{gap:24px}.hero-layout{grid-template-columns:1.1fr 1fr;min-height:630px}.hero h1{font-size:clamp(2.75rem,1.5rem + 3.6vw,4.75rem)}.hero-stage{min-height:540px}.sculpture-book{width:235px;height:325px}.cover-glyph{font-size:6rem}.page-sculpture{height:410px}.stage-caption{padding-inline:0;gap:14px;flex-wrap:wrap}.section,.chapter{padding-block:95px}.philosophy-content,.service-lead{gap:55px}.book-card>a{gap:55px}.book-visual{padding:60px 35px}.message-section,.about-message,.contact-layout{gap:65px}.intro-grid,.split{gap:65px}.craft-steps article{grid-template-columns:.7fr 1fr 1.2fr;gap:20px}.craft-index{gap:20px}.craft-steps h3{font-size:1.75rem}.footer-top nav{gap:20px}.chapter-nav a{gap:13px}}
@media(max-width:900px){.site-header{flex-wrap:wrap;gap:0;min-height:110px;padding-block:24px}.menu-toggle{display:flex;gap:16px;align-items:center;border:0;background:none;font-size:1rem;padding:12px 0 12px 15px;line-height:1.6}.menu-toggle span{font-size:1.25rem}.site-header nav{width:100%;flex-wrap:wrap;gap:15px 28px;padding-top:25px}.site-header nav[hidden]{display:none}.hero-layout{grid-template-columns:1fr;gap:20px;padding-top:45px;padding-bottom:28px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.75rem,1.7rem + 4vw,4.75rem);line-height:1.5;margin-bottom:30px}.hero-description{font-size:1.125rem;line-height:2}.hero-stage{min-height:520px;margin-top:15px;background:radial-gradient(ellipse at 50% 45%,#dfecef,#f0f5f3 50%,transparent 73%)}.page-sculpture{height:410px}.sculpture-book{width:250px;height:340px}.cover-glyph{font-size:7rem}.stage-caption{justify-content:space-between;max-width:600px;padding-inline:20px}.hero-kicker{padding-bottom:22px}.hero-edition{display:none}.hero-bottom{padding-block:22px}.chapter-nav a{font-size:.9375rem;gap:10px;padding-block:20px}.philosophy-content,.service-lead{grid-template-columns:1fr;gap:25px}.philosophy h2,.service-lead h2{font-size:clamp(2rem,1.4rem + 2vw,3rem)}.philosophy-content .prose{padding:0;max-width:40em}.philosophy-content .prose p br{display:none}.philosophy-sign{margin-top:50px;font-size:clamp(2.5rem,1.5rem + 4vw,5rem)}.craft-steps{margin-top:55px}.craft-steps article{grid-template-columns:1fr 1.5fr}.craft-index{grid-column:1}.craft-steps h3{grid-column:2;grid-row:auto;font-size:1.75rem}.craft-steps article>p:last-child{grid-column:2}.book-card>a{grid-template-columns:1fr 1fr;gap:35px}.book-visual{padding:50px 27px}.book-info h3{font-size:2rem}.book-credit{font-size:1rem}.message-section,.about-message,.contact-layout,.intro-grid,.split{gap:45px}.message-copy h2{font-size:2rem}.contact-inner{gap:40px}.contact-inner>.button{min-width:0}.footer-top{flex-direction:column;gap:35px}.footer-top nav{justify-content:flex-start}.about-message{grid-template-columns:.8fr 1.2fr}.about-message article h2{font-size:2rem}.contact-layout{grid-template-columns:1fr}.contact-layout aside{max-width:40em}.book-detail{gap:45px}.book-detail .prose{padding:0}}
@media(max-width:650px){:root{--body:1.0625rem}.wrap{width:calc(100% - 44px)}html{scroll-padding-top:130px}.site-header{padding-block:23px;min-height:100px;column-gap:18px}.brand-name{font-size:1.65rem}.brand-sub{overflow-wrap:anywhere;font-size:.875rem;margin-top:8px;letter-spacing:.14em}.site-header nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;font-size:1rem;padding-top:25px;padding-bottom:5px}.nav-contact{gap:10px}.hero{padding-top:0}.hero-kicker{padding-bottom:20px}.hero-kicker .eyebrow{font-size:.875rem;letter-spacing:.05em}.hero-layout{padding-top:35px;gap:15px}.hero h1{font-size:clamp(2.5rem,1.6rem + 4.2vw,3.5rem);line-height:1.55;margin-bottom:25px}.hero-description{font-size:1.0625rem;line-height:2.05;margin-bottom:28px}.button{padding:17px 20px 17px 23px;gap:22px;min-height:62px;font-size:1rem}.hero-stage{min-height:460px;margin-top:20px}.page-sculpture{height:360px}.sculpture-book{width:214px;height:295px}.cover-brand{font-size:.6875rem}.cover-glyph{font-size:5.8rem}.cover-subtitle{font-size:1rem}.cover-footer{font-size:.4375rem}.page-cover{padding:24px 20px 20px 25px}.page-inside{padding:25px 20px}.page-inside-copy{font-size:1.375rem}.hero-stage.is-open .sculpture-book{transform:translateX(38px) rotateX(5deg) rotateY(-12deg) rotateZ(3deg)}.hero-stage.is-open .page-cover{transform:translateZ(3px) rotateY(-124deg)}.stage-caption{padding-inline:0;gap:12px}.stage-caption p{font-size:.875rem;max-width:11em}.open-book{font-size:1rem;gap:10px;white-space:normal;text-align:left}.stage-cross-a{top:5px;left:0}.stage-cross-b{right:0;bottom:70px}.hero-bottom{gap:20px;align-items:center}.hero-bottom p{font-size:.875rem;line-height:1.8}.mobile-only{display:inline}.hero-bottom a{font-size:.875rem;line-height:1.8;max-width:10em;flex-shrink:1;min-width:0}.hero-bottom a span{margin-left:10px}.chapter-nav>div{grid-template-columns:1fr 1fr}.chapter-nav a{font-size:1rem;gap:12px;padding:12px 8px 12px 0;min-height:48px}.chapter-nav a span{font-size:.875rem}.chapter-nav a[aria-current=location]:after{width:calc(100% - 18px)}.section,.chapter{padding-block:72px}.section-label{flex-wrap:wrap;gap:10px 22px;margin-bottom:35px}.section-label,.section-label span:first-child{font-size:.875rem}.philosophy h2,.service-lead h2{font-size:clamp(1.9rem,1.2rem + 3.2vw,2.5rem);line-height:1.65}.philosophy-content{gap:12px}.philosophy-sign{font-size:clamp(2rem,1.1rem + 5vw,3rem);margin-top:35px;padding-top:25px;line-height:1.2}.service-name{font-size:1rem}.craft-steps{margin-top:45px}.craft-steps article{grid-template-columns:1fr;gap:15px;padding-block:30px}.craft-index{font-size:1.5rem;gap:22px;grid-column:auto}.craft-steps h3{font-size:1.8rem;grid-column:auto}.craft-steps article>p:last-child{grid-column:auto;font-size:1.0625rem}.craft-steps article>p:last-child br{display:none}.section-top{flex-direction:column;gap:15px;align-items:start;margin-bottom:35px}.section-top h2{font-size:2rem;line-height:1.6}.book-card>a{grid-template-columns:1fr;gap:30px}.book-visual{padding:55px 35px 45px}.book-visual img{max-width:100%}.visual-label{top:22px;left:26px;font-size:.875rem;letter-spacing:.02em}.visual-corner{font-size:1.25rem;right:24px;bottom:12px}.book-info .eyebrow{margin-bottom:15px}.book-info h3{font-size:2rem;line-height:1.6;margin-bottom:13px}.book-credit{font-size:1rem;margin-bottom:18px}.book-grid{gap:55px}.message-section{grid-template-columns:1fr;gap:45px}.portrait-frame{margin:0 15px 0 0;max-width:450px}.portrait-frame:before{inset:20px -15px -8px 15px}.portrait-caption{font-size:.875rem;letter-spacing:.04em}.message-copy .section-label{margin-bottom:25px}.message-copy h2{font-size:2.25rem;line-height:1.6;margin-bottom:25px}.message-copy p br{display:none}.signature{gap:20px;margin-top:28px}.signature span{font-size:.875rem}.signature strong{font-size:1.5rem}.contact-band{padding-block:72px}.contact-band:before{inset:12px}.contact-inner{grid-template-columns:1fr;gap:30px}.contact-inner .eyebrow{font-size:.875rem;letter-spacing:.08em;margin-bottom:22px}.contact-inner h2{font-size:2.25rem;line-height:1.6}.contact-inner p:last-child{font-size:1.0625rem}.contact-inner>.button{justify-self:start;min-width:0;width:100%;font-size:1rem}.site-footer{padding-top:50px}.footer-top{padding-bottom:35px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:18px 25px;font-size:1rem;align-items:start;width:100%}.footer-top p{font-size:1rem}.footer-bottom{flex-direction:column;gap:20px}.footer-bottom>div{flex-wrap:wrap;gap:12px 25px}.page-heading{padding-top:45px;padding-bottom:40px}.page-heading .eyebrow{margin-bottom:25px}.page-heading h1{font-size:clamp(2rem,1.4rem + 3vw,2.75rem);line-height:1.65}.page-heading>p:last-child{font-size:1.0625rem}.intro-grid,.split,.about-message,.book-detail{grid-template-columns:1fr;gap:25px}.intro-grid .section-label,.split .section-label{margin-bottom:0}.intro-grid h2,.split h2{font-size:2rem;line-height:1.6}.audience-list{margin-top:30px}.audience-list li{gap:20px;padding-block:20px;font-size:1.0625rem}.flow-list{margin-top:35px}.flow-list li{grid-template-columns:45px 1fr;gap:20px;padding-block:27px}.flow-list li>span{font-size:2rem}.flow-list h3{font-size:1.4rem;line-height:1.6;margin-bottom:12px}.faq summary{font-size:1.0625rem;padding:23px 35px 23px 0}.faq summary:after{right:0;top:23px}.faq details p{padding-right:20px;font-size:1.0625rem}.about-photo{max-width:450px}.about-photo img{aspect-ratio:1/1.12}.about-message{gap:45px}.about-message article h2{font-size:2.1rem}.info-table>div{grid-template-columns:80px 1fr;gap:20px;padding-block:22px;font-size:1rem}.contact-layout{gap:30px}.contact-layout h2{font-size:1.9rem}.contact-layout aside p{font-size:1.0625rem}.form-notice{padding:20px;font-size:1rem}.legal h2{font-size:1.5rem}.book-detail{gap:30px}.book-detail>img{max-width:450px;max-height:none;margin-inline:auto}.book-detail .prose{font-size:1.0625rem}.book-detail .text-link{margin-top:10px}}
@media(max-width:360px){.wrap{width:calc(100% - 36px)}.hero h1{font-size:2.45rem}.hero-kicker .eyebrow{font-size:.875rem;letter-spacing:.02em}.hero-description br{display:none}.hero-description{line-height:2}.hero-stage{min-height:440px}.sculpture-book{width:194px;height:270px}.page-sculpture{height:330px}.cover-glyph{font-size:5rem}.stage-caption p{max-width:9em}.open-book{gap:6px}.chapter-nav a{font-size:.9375rem;gap:9px}.section-label{gap:10px 16px}.book-info h3{font-size:1.8rem}.contact-inner h2,.message-copy h2{font-size:2rem}.book-visual{padding-inline:28px}.contact-band .eyebrow{letter-spacing:.03em}.page-heading h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-enabled [data-reveal].waiting{opacity:1;translate:none}}
.detail-figure{margin:0;min-width:0}.cover-zoom{display:block;width:100%;border:0;background:none;padding:0;text-align:left}.cover-zoom>img{width:100%;height:auto;object-fit:contain;max-height:650px}.cover-zoom>span{display:flex;align-items:center;justify-content:space-between;font-size:1rem;border-bottom:1px solid var(--line);padding-block:18px;color:var(--blue)}.cover-dialog{width:min(850px,calc(100% - 40px));max-height:calc(100dvh - 40px);border:0;padding:25px;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 20px 100px #10293350}.cover-dialog::backdrop{background:#173a4cdc;backdrop-filter:blur(5px)}.cover-dialog>img{max-height:calc(100dvh - 210px);width:auto;margin-inline:auto;object-fit:contain}.cover-dialog p{font-size:1rem;margin:20px 0 0;text-align:center}.dialog-close{display:flex;gap:25px;margin:0 0 22px auto;background:none;border:0;border-bottom:1px solid var(--line);font-size:1rem;padding:5px 0;min-height:44px}.dialog-close span{font-size:1.5rem;line-height:1.2}.cover-dialog:focus{outline:none}@media(max-width:650px){.cover-dialog{padding:18px;width:calc(100% - 28px);max-height:calc(100dvh - 28px)}.cover-dialog>img{max-height:calc(100dvh - 200px)}}
.footer-bottom>div{flex-wrap:wrap;align-items:baseline}.footer-bottom a{font-size:1rem}.motion-toggle{font-size:1rem;line-height:1.8;background:none;border:0;border-bottom:1px solid var(--line);padding:0;color:var(--ink)}.motion-toggle span{margin-left:8px;font-size:.875rem;color:var(--blue)}html.reduce-motion{scroll-behavior:auto}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important}.reduce-motion [data-reveal].waiting{opacity:1;translate:none}

.book-actions{margin-top:32px;margin-bottom:10px}.book-actions .button{max-width:100%}

/* Email contact: a working mail link, with a readable fallback address. */
.mail-contact{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);align-items:start;gap:95px;padding-top:65px;padding-bottom:90px}.mail-contact aside h2{font-size:clamp(1.75rem,1rem + 1.5vw,2.25rem);line-height:1.65}.mail-contact aside>p:not(.eyebrow){font-size:1.0625rem;line-height:1.95}.response-note{margin-top:42px;padding-top:25px;border-top:1px solid var(--line)}.response-note .response-label{font-size:.875rem;margin-bottom:12px}.mail-contact .response-note .response-time{font-family:var(--serif);font-size:1.625rem;line-height:1.6;color:var(--ink);margin-bottom:18px}.response-time span{display:block;font-family:var(--sans);font-size:1rem;color:var(--muted);margin-top:8px}.mail-contact .response-note .response-caption{font-size:.875rem;line-height:1.9;max-width:28em;margin-bottom:0}.email-card{background:var(--pale);border:1px solid #c9dadd;padding:42px 40px;min-width:0}.email-card .eyebrow{margin-bottom:22px}.mail-contact .email-card h2{font-size:clamp(1.8rem,1rem + 1.6vw,2.5rem);line-height:1.6;margin-bottom:28px}.email-address{font-size:clamp(1.25rem,.8rem + 1.5vw,1.875rem);line-height:1.6;letter-spacing:.015em;color:var(--blue);overflow-wrap:anywhere;margin-bottom:22px;user-select:text}.email-cta{width:100%;max-width:420px}.email-note{font-size:.875rem;line-height:1.9;color:var(--muted);margin:18px 0 30px}.email-alternative{border-top:1px solid #b8cfd6;padding-top:25px}.email-alternative h3{font:500 1rem/1.8 var(--sans);margin-bottom:10px}.email-alternative p{font-size:1rem;line-height:1.9;margin-bottom:24px;color:var(--muted)}.contact-privacy{font-size:.875rem;line-height:1.9;margin:0}.contact-privacy a{font-size:1rem;text-decoration:underline;text-underline-offset:4px}.contact-guide{border-top:1px solid var(--line);padding-top:65px;padding-bottom:110px}.contact-guide .section-label{margin-bottom:35px}.contact-guide h2{font-size:clamp(1.9rem,1rem + 2vw,2.8rem);line-height:1.6;margin-bottom:20px}.contact-guide-intro{font-size:1.0625rem;color:var(--muted);line-height:1.95;margin-bottom:45px}.contact-detail-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;list-style:none;margin:0;padding:0}.contact-detail-list>li{display:flex;gap:22px;padding-top:23px;border-top:1px solid var(--line);min-width:0}.contact-detail-number{font:italic 1.5rem/1.5 Georgia,serif;color:var(--blue)}.contact-detail-list h3{font-size:1.5rem;line-height:1.6;margin-bottom:12px}.contact-detail-list p{font-size:1rem;line-height:1.95;margin:0;color:var(--muted)}
@media(max-width:1100px){.mail-contact{gap:55px}.email-card{padding:35px 30px}.contact-detail-list{gap:24px}.contact-detail-list>li{gap:18px}.contact-detail-list p br{display:none}}
@media(max-width:900px){.mail-contact{grid-template-columns:minmax(0,1fr);gap:40px}.mail-contact aside{max-width:42em}.mail-contact aside>p br{display:none}.response-note{margin-top:30px}.email-card{max-width:760px}.contact-detail-list{grid-template-columns:1fr;gap:25px}.contact-detail-list>li{gap:25px}.contact-detail-list h3{font-size:1.4rem}.contact-detail-list p{font-size:1.0625rem}}
@media(max-width:650px){.mail-contact{padding-top:40px;padding-bottom:65px;gap:35px}.mail-contact aside h2{font-size:1.9rem;line-height:1.65}.email-card{padding:30px 24px}.mail-contact .email-card h2{font-size:1.8rem;line-height:1.65}.email-cta{gap:12px;padding-inline:20px}.email-note br{display:none}.email-alternative{padding-top:22px}.email-card .eyebrow{letter-spacing:.08em;font-size:.875rem}.contact-guide{padding-top:50px;padding-bottom:75px}.contact-guide h2{font-size:1.9rem}.contact-guide-intro{font-size:1.0625rem;margin-bottom:30px}.contact-guide-intro br{display:none}.contact-detail-list>li{gap:20px}.contact-detail-list h3{font-size:1.4rem}.response-time span{font-size:1rem}.contact-privacy{font-size:.875rem}}
@media(max-width:360px){.email-card{padding:28px 20px}.mail-contact .email-card h2{font-size:1.65rem}.mail-contact aside h2,.contact-guide h2{font-size:1.75rem}.email-cta{padding-inline:16px;gap:8px}}

.page-contact .page-heading{padding-top:45px;padding-bottom:40px}.page-contact .page-heading .eyebrow{margin-bottom:18px}.page-contact .page-heading h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.5rem);line-height:1.5;margin-bottom:18px}.mail-contact>.email-card{grid-column:2;grid-row:1}.mail-contact>aside{grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.mail-contact>.email-card{grid-column:1;grid-row:1}.mail-contact>aside{grid-column:1;grid-row:2}}
@media(max-width:650px){.page-contact .page-heading{padding-top:30px;padding-bottom:30px}}

/* Policies: consistent reading width, navigable sections and operator details. */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-privacy .page-heading,.page-terms .page-heading{padding-top:45px;padding-bottom:45px}.page-privacy .page-heading h1,.page-terms .page-heading h1{font-size:clamp(2rem,1.2rem + 2.8vw,3.75rem);line-height:1.55}.page-privacy .page-heading .eyebrow,.page-terms .page-heading .eyebrow{margin-bottom:22px}.policy-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:100px;align-items:start;padding-top:75px;padding-bottom:110px}.policy-aside{position:sticky;top:40px;min-width:0;max-height:calc(100dvh - 80px);overflow-y:auto}.policy-index{border-top:1px solid var(--line)}.policy-index summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1rem;line-height:1.7;padding-block:18px;border-bottom:1px solid var(--line);cursor:pointer;list-style:none}.policy-index summary::-webkit-details-marker{display:none}.policy-index summary>span{font-size:1.25rem;color:var(--blue);transition:rotate .2s}.policy-index[open] summary>span{rotate:45deg}.policy-index nav{display:block;font-size:1rem}.policy-index ol{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:15px}.policy-index a{display:grid;grid-template-columns:25px minmax(0,1fr);gap:10px;font-size:1rem;line-height:1.75;overflow-wrap:anywhere}.policy-index a span{font:400 .875rem/2 Georgia,serif;color:var(--muted)}.policy-body{max-inline-size:42em;min-width:0;overflow-wrap:anywhere}.policy-intro{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:45px}.policy-intro>p:first-child{margin-bottom:22px}.policy-intro .policy-date{font-size:.875rem;line-height:1.7;color:var(--muted);margin:0}.policy-section{scroll-margin-top:24px;margin-bottom:50px}.policy-section h2{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:18px;align-items:baseline;font-size:1.65rem;line-height:1.6;margin-bottom:22px}.policy-number{font:400 1rem/1.7 Georgia,serif;color:var(--blue)}.policy-heading-text{min-width:0}.policy-section p{line-height:1.95}.policy-section p:last-child{margin-bottom:0}.policy-section ul{margin:0 0 1.6em;padding-inline-start:1.4em}.policy-section li{margin-bottom:12px;padding-inline-start:.2em;line-height:1.95}.policy-section .text-link{overflow-wrap:anywhere;max-width:100%}.policy-operator{margin:25px 0 0;border-top:1px solid var(--line)}.policy-operator>div{display:grid;grid-template-columns:165px minmax(0,1fr);gap:25px;border-bottom:1px solid var(--line);padding-block:20px}.policy-operator dt{font-size:1rem;line-height:1.9}.policy-operator dd{font-size:1.0625rem;line-height:1.9;min-width:0;overflow-wrap:anywhere}.policy-operator a{text-decoration:underline;text-underline-offset:5px}.policy-contact{background:var(--pale);border:1px solid #c9dadd;padding:28px;margin-top:28px}.policy-contact>p{font-size:1.25rem;color:var(--blue);line-height:1.7;margin:0 0 20px;overflow-wrap:anywhere}.policy-contact .button{gap:14px;padding-inline:18px;max-width:100%}.policy-related{display:flex;flex-wrap:wrap;gap:15px 35px;border-top:1px solid var(--line);padding-top:30px}
@media(max-width:1150px){.policy-layout{grid-template-columns:215px minmax(0,1fr);gap:55px}.policy-operator>div{grid-template-columns:130px minmax(0,1fr);gap:20px}.policy-section h2{font-size:1.5rem}}
@media(max-width:900px){.policy-layout{grid-template-columns:minmax(0,1fr);gap:35px;padding-top:45px}.policy-aside{position:static;max-height:none;overflow:visible}.policy-index ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;margin-bottom:10px}.policy-body{max-inline-size:none}.policy-intro{margin-bottom:35px}.policy-operator>div{grid-template-columns:155px minmax(0,1fr)}}
@media(max-width:650px){.page-privacy .page-heading,.page-terms .page-heading{padding-top:35px;padding-bottom:30px}.page-privacy .page-heading h1,.page-terms .page-heading h1{font-size:clamp(1.9rem,1.4rem + 2vw,2.5rem)}.page-privacy .page-heading>p:last-child,.page-terms .page-heading>p:last-child{font-size:1rem}.policy-layout{padding-top:30px;padding-bottom:75px;gap:30px}.policy-index ol{grid-template-columns:minmax(0,1fr);gap:15px}.policy-intro{padding-bottom:25px;margin-bottom:35px}.policy-section{margin-bottom:38px}.policy-section h2{font-size:1.4rem;grid-template-columns:1.5rem minmax(0,1fr);gap:12px;line-height:1.65;margin-bottom:18px}.policy-number{font-size:.875rem}.policy-section li{margin-bottom:14px}.policy-operator>div{grid-template-columns:minmax(0,1fr);gap:6px;padding-block:18px}.policy-operator dt{font-size:.875rem}.policy-operator dd{font-size:1.0625rem}.policy-contact{padding:22px 20px}.policy-contact>p{font-size:1.25rem}.policy-related{flex-direction:column;align-items:start;gap:15px}}

/* Representative qualification: readable lines with an optional Japanese word boundary. */
.profile-role>span{display:block}.profile-qualification{word-break:keep-all;overflow-wrap:anywhere}.profile-title{padding-inline-start:1em}
