@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
/* Customer voices: source quotations, compact listing and responsive portraits. */
.voice-job-phrase{display:inline-block;max-width:100%;vertical-align:top;word-break:auto-phrase}.voice-detail-job{text-wrap:pretty;word-break:auto-phrase}
.voice-title-phrase{display:inline-block;white-space:nowrap;letter-spacing:0}.voice-detail-grid.voice-without-photo{grid-template-columns:1fr;max-width:750px}.voice-detail-grid h1{letter-spacing:.02em}
@media(max-width:740px){.voice-detail-grid h1{font-size:25px}}
@media(max-width:360px){.voice-detail-grid h1{font-size:22px}.voice-card-quote{font-size:19px}}
.voice-card-person p{word-break:auto-phrase;text-wrap:pretty}.voice-card-person h3{overflow-wrap:anywhere}
.voice-filter-panel{margin:24px 0 14px}.voice-filter-panel summary{padding:14px 20px;background:var(--green);border-radius:14px;font-size:15px;font-weight:700;cursor:pointer}.voice-filter-panel summary::marker{color:var(--sage)}.voice-filter-panel[open] summary{border-radius:18px 18px 0 0}.voice-page .voice-filter-panel .voice-filters{margin-top:0;border-radius:0 0 18px 18px}
.voice-page .page-hero{padding:32px 0 38px}.voice-page .page-hero .breadcrumb{margin-bottom:22px}.voice-page .page-hero h1{margin-bottom:15px}.voice-page .page-hero p{margin:0}.voice-page .page-content{padding-top:44px}.voice-list-intro h2{margin-bottom:0}.voice-detail-grid .voice-topic{display:table}.voice-page .voice-filters{margin-top:24px}
@media(max-width:740px){.voice-page .page-hero{padding:24px 0 30px}.voice-page .page-content{padding-top:32px}.voice-page .page-hero .breadcrumb{margin-bottom:18px}}
.voice-listing{max-width:1120px;margin:auto}.voice-list-intro h2{font-size:clamp(24px,2.5vw,31px)}.voice-list-intro p{color:var(--muted)}.voice-filters{display:grid;grid-template-columns:2fr 1fr;gap:24px;background:var(--green);border-radius:22px;padding:24px;margin:32px 0 14px}.voice-filters label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.voice-filters input,.voice-filters select{width:100%;min-width:0;height:52px;background:white;border:1px solid #bcccb4;border-radius:12px;padding:8px 14px;font-size:16px}.voice-count{font-size:14px;color:var(--muted);margin:0 0 24px}.voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.voice-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:24px;padding:25px 24px;background:#fff}.voice-card[hidden]{display:none}.voice-topic{display:inline-block;align-self:flex-start;background:var(--green);color:#426037;border-radius:999px;padding:4px 12px;font-size:12px;line-height:1.7;font-weight:700;margin-bottom:20px}.voice-card:nth-child(2n) .voice-topic{background:var(--pink);color:#795464}.voice-card-person{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;margin-bottom:24px}.voice-card-person h3{font-size:17px;margin:0 0 5px;letter-spacing:.015em;word-break:auto-phrase}.voice-card-person p{font-size:13px;line-height:1.65;margin:0;color:var(--muted)}.voice-card-photo{width:72px;height:72px;border-radius:18px;overflow:hidden;background:#f3f5ee}.voice-card-photo img{width:100%;height:100%;object-fit:contain}.voice-initial{display:grid;place-items:center;width:100%;height:100%;color:var(--sage);background:var(--green);font-family:'Zen Maru Gothic',sans-serif;font-size:28px}.voice-honorific{display:inline;font-size:.8em;letter-spacing:0;white-space:nowrap}.voice-alias{display:block;font-size:13px;line-height:1.7;letter-spacing:0}.voice-card-quote{font-size:21px;line-height:1.65;margin:0 0 22px;word-break:auto-phrase;letter-spacing:.02em}.voice-context>span{display:block;font-size:12px;color:var(--sage);font-weight:700;margin-bottom:6px}.voice-context p{font-size:14px;line-height:1.85;margin:0}.voice-detail-link{display:block;font-size:14px;font-weight:700;color:var(--sage);margin-top:auto;padding-top:22px;line-height:1.8}.voice-list-note{font-size:13px;color:var(--muted);margin:30px 0 0}.voice-detail-hero{background:linear-gradient(120deg,#f5f8f1,#fdf7f8);padding:32px 0 68px}.voice-detail-grid{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:center;gap:60px;max-width:980px;margin:42px auto 0}.voice-detail-photo{width:300px;height:320px;border-radius:36px;overflow:hidden;background:#fff}.voice-detail-photo img{width:100%;height:100%;object-fit:contain}.voice-detail-grid h1{font-size:clamp(28px,3vw,39px);line-height:1.65;word-break:auto-phrase;margin:0 0 24px}.voice-detail-grid .voice-topic{margin-bottom:16px}.voice-detail-name{font-family:'Zen Maru Gothic',sans-serif;font-size:22px;font-weight:700;margin:0 0 4px}.voice-detail-job{font-size:15px;color:var(--muted);margin:0 0 20px}.voice-detail-grid .voice-context{border-top:1px solid var(--line);padding-top:18px}.voice-detail-body{max-width:850px;padding-top:60px}.voice-prose{max-width:750px;margin:auto}.voice-prose h2{font-size:25px;margin-top:44px}.voice-prose blockquote{margin:0 0 38px;padding:24px 28px;background:#f4f8f0;border-left:3px solid #a1bc92;border-radius:0 18px 18px 0}.voice-prose blockquote:nth-of-type(2n){background:#fdf2f4;border-left-color:#e6b5bf}.voice-prose .voice-answer{white-space:pre-wrap;margin:0;line-height:2.1;font-size:17px;overflow-wrap:anywhere}.voice-prose .voice-intro{font-size:15px;color:var(--muted)}.voice-related{margin:60px 0 32px;padding-top:32px;border-top:1px solid var(--line)}.voice-related h2{font-size:23px}.voice-related>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.voice-related a{display:block;border-radius:18px;background:var(--green);padding:22px;text-decoration:none;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;line-height:1.8}.voice-related a>span:first-child{display:block;font-family:'Zen Kaku Gothic New',sans-serif;font-size:13px;color:var(--muted);margin-bottom:8px}.voice-related .text-link{display:block;font-size:13px;margin-top:16px}
@media(max-width:1050px){.voice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voice-detail-grid{grid-template-columns:240px minmax(0,1fr);gap:36px}.voice-detail-photo{width:240px;height:280px}}
@media(max-width:740px){.voice-grid{grid-template-columns:1fr;gap:20px}.voice-filters{grid-template-columns:1fr;gap:18px;padding:20px}.voice-card{padding:25px 24px}.voice-card-quote{font-size:21px}.voice-detail-grid{display:flex;flex-direction:column;align-items:stretch;gap:28px;margin-top:25px}.voice-detail-photo{width:170px;height:180px;align-self:center;border-radius:26px}.voice-detail-grid h1{font-size:27px}.voice-detail-name{font-size:20px}.voice-detail-hero{padding-bottom:38px}.voice-detail-body{padding-top:34px}.voice-prose h2{font-size:22px;margin-top:32px}.voice-prose blockquote{padding:20px 19px}.voice-prose .voice-answer{font-size:16px;line-height:2}.voice-related>div{grid-template-columns:1fr}.voice-list-intro h2{font-size:23px}.voice-card-person{grid-template-columns:68px minmax(0,1fr)}.voice-card-photo{width:68px;height:68px}}
:root{--ink:#343e32;--sage:#51694c;--green:#edf4e9;--pink:#f8e9eb;--muted:#5e6d59;--line:#dde4d9;--white:#fff;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;line-break:strict}body{margin:0;color:var(--ink);background:#fff;font-family:'Zen Kaku Gothic New',sans-serif;font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8a5870;outline-offset:5px}h1,h2,h3,h4{font-family:'Zen Maru Gothic',sans-serif;line-height:1.55;letter-spacing:.04em;font-weight:700;margin:0 0 20px;text-wrap:pretty}h1{font-size:clamp(30px,3.15vw,46px)}h2{font-size:clamp(25px,2.7vw,36px)}h3{font-size:22px}p{margin:0 0 20px}ul,ol{padding-left:1.4em}figure{margin:0}.jp-phrase{display:inline-block;white-space:nowrap}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.narrow{max-width:800px}.eyebrow{display:block;font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.18em;color:var(--sage);font-weight:500;margin-bottom:16px}.eyebrow::before{content:'';display:inline-block;width:26px;height:1px;background:currentColor;margin:0 12px 4px 0}.small{font-size:13px;color:var(--muted);line-height:1.8}.section{padding-block:96px}.section-head{margin-bottom:40px}.section-head p{max-width:640px;color:var(--muted)}.t-center{text-align:center}.t-center p{margin-inline:auto}.green{background:var(--green)}.pink{background:var(--pink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid var(--sage);border-radius:100px;background:var(--sage);color:#fff;text-decoration:none;font-size:15px;font-weight:700;padding:17px 26px;min-height:56px;line-height:1.6;transition:background .25s,transform .25s}.btn::after{content:'↗';font-family:Arial,sans-serif;font-weight:400;font-size:19px;flex-shrink:0}.btn:hover{background:#3e523a;transform:translateY(-2px)}.btn.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--green)}.text-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;text-decoration:none;border-bottom:1px solid var(--sage);font-size:15px;font-weight:500}.text-link::after{content:'→'}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:#fff;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}
/* Catalog header-04: brand and CTA with a compact rounded navigation. */
.site-header{background:rgba(255,255,255,.96);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.header-inner{width:min(1260px,calc(100% - 56px));margin:auto;min-height:96px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand-mark{font-family:'Zen Maru Gothic',sans-serif;font-size:26px;line-height:1;width:45px;height:45px;display:grid;place-items:center;border-radius:50% 50% 45% 55%;background:var(--pink);color:var(--sage)}.brand-name{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:23px;letter-spacing:.05em;line-height:1.3}.brand-sub{font-family:'Space Grotesk',sans-serif;font-size:9px;letter-spacing:.23em;color:var(--muted);display:block;margin-top:5px}.site-nav{margin-left:auto}.nav-list{list-style:none;display:flex;align-items:center;gap:24px;margin:0;padding:0}.nav-list a{font-size:13px;font-weight:500;text-decoration:none;display:flex;align-items:center;min-height:44px}.nav-list a:hover,.nav-list .current-menu-item>a{color:var(--sage);text-decoration:underline}.header-cta{padding:11px 19px;font-size:13px;min-height:44px}.menu-toggle{display:none;border:1px solid var(--line);border-radius:50px;background:white;color:var(--ink);padding:10px 18px;font-size:13px;min-height:44px}.menu-toggle[aria-expanded=true]{background:var(--green)}
/* Catalog fv-95: serene shifting morning palette, reworked for this client's copy. */
.hero{position:relative;overflow:hidden;padding:68px 0 80px;background:linear-gradient(118deg,#fff 0%,#f4f7ee 40%,#fbf0f0 75%,#fff 100%);background-size:320% 320%}.j .hero{animation:morning 22s ease-in-out infinite alternate}@keyframes morning{0%{background-position:0% 30%}50%{background-position:60% 65%}100%{background-position:100% 40%}}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}.hero-copy{position:relative;z-index:2}.hero h1{margin-bottom:22px;line-height:1.7;letter-spacing:.03em}.hero h1 .accent{color:var(--sage);background:linear-gradient(transparent 78%,#dce7d5 78%)}.hero .role{font-size:13px;letter-spacing:.08em;display:inline-block;background:#fff;border:1px solid var(--line);padding:5px 16px;border-radius:50px;margin-bottom:22px}.hero-sub{font-family:'Zen Maru Gothic',sans-serif;font-size:19px;font-weight:500;line-height:1.9;margin-bottom:20px}.hero-lead{font-size:15px;max-width:35em;color:var(--muted)}.hero .actions{gap:16px;margin-top:27px}.hero .btn{padding:16px 22px}.hero-visual{position:relative;padding-block:20px}.hero-visual img{width:100%;border-radius:95px 35px 95px 35px;box-shadow:0 16px 45px rgba(52,62,50,.06)}.image-note{font-size:11px;color:var(--muted);text-align:right;margin-top:9px}.hero-bottom{margin-top:42px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(81,105,76,.16);padding-top:20px;color:var(--muted);font-size:12px}.hero-bottom .en{font-family:'Space Grotesk',sans-serif;letter-spacing:.13em}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.intro-grid p{color:var(--muted)}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}.pillar{padding-top:26px;border-top:1px solid var(--line)}.pillar .number{font-family:'Space Grotesk',sans-serif;color:var(--sage);font-size:13px;letter-spacing:.13em}.pillar h3{margin-top:15px;font-size:21px}.pillar p{font-size:15px;color:var(--muted);margin-bottom:0}.section-note{margin-top:32px;font-size:14px;color:var(--muted)}
.works-top{display:flex;gap:36px;align-items:end;justify-content:space-between;margin-bottom:35px}.works-top .section-head{margin:0}.count{display:flex;align-items:baseline;gap:10px;white-space:nowrap;font-family:'Zen Maru Gothic',sans-serif}.count strong{font-family:'Space Grotesk',sans-serif;font-size:50px;line-height:1;color:var(--sage);font-weight:500}.count .divider{width:1px;height:30px;background:var(--line);margin:0 12px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.work-card{border-top:3px solid #c8d8c0;background:white;border-radius:3px 3px 22px 22px;padding:28px;display:flex;flex-direction:column;min-width:0}.work-card:nth-child(2n){border-color:#ecced5}.tag{display:inline-block;color:var(--sage);font-size:12px;border:1px solid var(--line);border-radius:50px;padding:2px 10px;width:fit-content}.work-card h3{font-size:20px;margin:18px 0 8px}.work-job{font-size:13px;font-weight:700;color:var(--sage);margin-bottom:16px}.work-summary{font-size:14px;color:var(--muted);flex:1}.work-card .text-link{align-self:flex-start;font-size:13px;gap:16px}.works-note{max-width:860px;margin-top:27px;font-size:12px;color:var(--muted)}.center-actions{display:flex;justify-content:center;margin-top:34px}
/* Catalog sec-process-01: numbered steps on a quiet vertical spine. */
.flow{position:relative;max-width:850px;margin:auto}.flow::before{content:'';position:absolute;left:26px;top:20px;bottom:60px;width:1px;background:#c3d2bb}.step{position:relative;display:grid;grid-template-columns:54px 1fr;gap:28px;padding-bottom:26px}.node{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--sage);font-family:'Space Grotesk',sans-serif;font-size:18px;border:1px solid #c3d2bb;z-index:1}.step-content{padding:8px 0 22px;border-bottom:1px solid var(--line)}.step h3{font-size:19px;margin-bottom:8px}.step p{font-size:14px;color:var(--muted);margin:0}
.profile-block{display:grid;grid-template-columns:.65fr 1fr;gap:70px;align-items:center}.profile-identity{padding:40px;border-radius:65px 24px;background:rgba(255,255,255,.6);text-align:center}.profile-initial{color:var(--sage);font-family:'Zen Maru Gothic',sans-serif;font-weight:500;font-size:58px;line-height:1.2;display:block;margin:16px 0 28px}.profile-identity .role{font-size:12px;letter-spacing:.05em}.profile-identity .name{font-family:'Zen Maru Gothic',sans-serif;font-size:23px;font-weight:700;letter-spacing:.1em;margin-bottom:0}.profile-block .bio{font-size:15px;color:var(--muted)}.profile-block h2{margin-bottom:26px}
/* Catalog sec-links-01: two large service panels. */
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.service-panel{text-decoration:none;display:flex;flex-direction:column;min-width:0}.service-panel img{border-radius:28px;aspect-ratio:3/2;object-fit:contain;width:100%}.service-panel h3{font-size:24px;margin:22px 0 12px}.service-panel p{font-size:15px;color:var(--muted);max-width:35em}.service-panel .text-link{align-self:start}.service-panel .image-note{margin:6px 0 0}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;display:flex;gap:18px;align-items:center;padding:24px 4px;cursor:pointer;font-family:'Zen Maru Gothic',sans-serif;font-size:18px;font-weight:700}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::before{content:'Q';font-family:'Space Grotesk',sans-serif;color:var(--sage);font-size:16px;font-weight:500;flex-shrink:0}.faq-item summary::after{content:'+';font-family:Arial,sans-serif;margin-left:auto;font-size:24px;font-weight:400;flex-shrink:0}.faq-item[open] summary::after{content:'−'}.faq-answer{padding:0 40px 26px;font-size:15px;color:var(--muted)}
.contact-band{padding:70px 40px;background:var(--green);border-radius:36px;text-align:center}.contact-band h2{font-size:32px}.contact-band p{max-width:650px;margin-inline:auto;color:var(--muted)}.contact-band .btn{margin-top:8px}.site-footer{position:relative;background:#f3f6ef;border-radius:60px 60px 0 0;margin-top:20px;padding:65px 0 24px}.footer-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:70px}.footer-brand .brand{margin-bottom:20px}.footer-brand p{font-size:13px;color:var(--muted)}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.footer-links strong{display:block;font-size:13px;margin-bottom:12px}.footer-links a{display:block;text-decoration:none;font-size:12px;color:var(--muted);padding:7px 0;line-height:1.5;min-height:34px}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:26px;border-top:1px solid var(--line);margin-top:35px;font-size:10px;color:var(--muted)}
.page-hero{padding:66px 0 58px;background:linear-gradient(125deg,var(--green),#faf8f3,var(--pink))}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--muted);margin-bottom:28px}.breadcrumb a{text-decoration:none}.page-hero h1{font-size:clamp(29px,3.2vw,42px);margin-bottom:20px}.page-hero p{max-width:760px;font-size:15px;color:var(--muted);margin:0}.page-content{padding-block:70px 90px}.prose{max-width:800px;margin:auto}.prose h2{font-size:27px;margin:48px 0 22px}.prose h2:first-child{margin-top:0}.prose h3{font-size:21px;margin-top:32px}.prose p,.prose li{font-size:16px;color:var(--muted)}.prose li{margin-block:10px}.prose img{border-radius:28px;margin:26px 0}.info-list{margin:20px 0 40px}.info-list>div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.info-list dt{font-weight:700}.info-list dd{margin:0;color:var(--muted)}.service-main{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;margin-bottom:55px}.service-main img{border-radius:35px;width:100%}.service-main h2{font-size:28px}.service-main p{color:var(--muted);font-size:15px}.service-index{display:grid;gap:34px}.service-row{display:grid;grid-template-columns:.8fr 1fr;gap:45px;padding-bottom:35px;border-bottom:1px solid var(--line);align-items:center}.service-row img{border-radius:28px;width:100%}.service-row h2{font-size:27px}.service-row p{color:var(--muted);font-size:15px}.filters{padding:27px;border:1px solid var(--line);border-radius:24px;background:#fafbf8;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:20px;margin-bottom:25px}.filter label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.filter input,.filter select{width:100%;background:white;border:1px solid #b6c4af;border-radius:10px;padding:12px;line-height:1.5;font-size:14px;min-height:48px}.filter-count{font-size:13px;color:var(--muted);margin:20px 0}.person-list{display:grid;grid-template-columns:1fr 1fr;gap:25px}.person-card{border:1px solid var(--line);border-radius:22px;padding:28px;min-width:0}.person-card[hidden]{display:none}.person-card h2{font-size:21px;margin:16px 0 6px}.article-entry+.article-entry{border-top:1px dashed var(--line);padding-top:18px;margin-top:22px}.person-card .article-entry p{font-size:14px;color:var(--muted)}.person-card .text-link{font-size:13px}.person-job{font-size:13px;color:var(--sage);font-weight:700}.report-list{display:grid;gap:22px;margin-top:28px}.report-item{padding-bottom:25px;border-bottom:1px solid var(--line)}.report-item h3{font-size:20px}.report-item p{font-size:14px;color:var(--muted)}.empty-state{border:1px solid var(--line);border-radius:22px;padding:34px;background:var(--green)}.no-results{padding:35px;font-size:15px;border:1px dashed var(--line);border-radius:20px}.no-results[hidden]{display:none}.news-list{list-style:none;padding:0}.news-list li{border-bottom:1px solid var(--line);padding:20px 0}.news-list a{display:block;text-decoration:none;font-size:18px}.news-list time{font-family:'Space Grotesk',sans-serif;color:var(--muted);font-size:12px;display:block}.blog-body img{width:100%;height:auto}.author-box{border-top:1px solid var(--line);margin-top:60px;padding-top:25px;font-size:14px}.author-box strong{font-size:20px;font-family:'Zen Maru Gothic',sans-serif}.wp-block-html{margin:0}.wp-site-blocks{padding:0}.wpcf7,.fluentform{max-width:800px;margin:auto}
@media(max-width:1100px){.header-inner{gap:20px}.nav-list{gap:18px}.nav-list a{font-size:12px}.brand-name{font-size:21px}.brand-mark{width:39px;height:39px;font-size:23px}.hero-grid{gap:30px}.hero .actions{align-items:flex-start;flex-direction:column}.hero h1{font-size:38px}.hero-sub{font-size:17px}}
@media(max-width:900px){.header-inner{min-height:82px;width:calc(100% - 40px)}.site-nav{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;border-bottom:1px solid var(--line);padding:16px 25px}.site-nav.open{display:block}.nav-list{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-list a{font-size:15px;padding:12px 4px;border-bottom:1px solid var(--line)}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.hero-grid{grid-template-columns:1fr;gap:20px}.hero-copy{max-width:750px}.hero h1{font-size:clamp(30px,5vw,42px)}.hero .actions{flex-direction:row;align-items:center}.hero-visual{max-width:670px;width:100%;margin:auto;padding-top:10px}.hero-visual img{border-radius:65px 25px 65px 25px}.hero{padding:48px 0 40px}.hero-bottom{margin-top:22px}.intro-grid{gap:35px}.work-grid{grid-template-columns:1fr 1fr}.profile-block{gap:35px}.footer-grid{grid-template-columns:1fr;gap:30px}.service-main{gap:35px}.works-top{align-items:start;flex-direction:column;gap:24px}.count strong{font-size:38px}.count{font-size:13px}.filters{grid-template-columns:1fr 1fr}.filter:first-child{grid-column:1/-1}}
@media(max-width:640px){body{font-size:15px}.wrap{width:calc(100% - 40px)}.section{padding-block:62px}.section-head{margin-bottom:28px}.hero h1{font-size:30px;margin-bottom:20px}.hero .role{font-size:12px;margin-bottom:19px}.hero-sub{font-size:17px}.hero-lead{font-size:14px}.hero .actions{gap:17px}.hero .btn{font-size:14px;padding:15px 22px;gap:16px}.hero .text-link{font-size:13px}.hero-bottom{align-items:start;flex-direction:column;gap:8px}.hero-bottom .en{font-size:10px}.hero-visual img{border-radius:45px 20px 45px 20px}.intro-grid{grid-template-columns:1fr;gap:8px}.pillars{grid-template-columns:1fr;gap:23px;margin-top:22px}.pillar{padding-top:20px;display:grid;grid-template-columns:35px 1fr;column-gap:18px}.pillar .number{grid-row:1/3;padding-top:5px}.pillar h3{margin:0 0 10px;font-size:20px}.pillar p{font-size:14px}.work-grid{grid-template-columns:1fr;gap:18px}.work-card{padding:24px}.work-card h3{margin-top:15px}.work-summary{margin-bottom:16px}.step{gap:18px;grid-template-columns:44px 1fr}.node{width:44px;height:44px;font-size:15px}.flow::before{left:21px}.step h3{font-size:18px}.step p{font-size:14px}.profile-block{grid-template-columns:1fr;gap:30px}.profile-identity{padding:25px;display:flex;gap:20px;align-items:center;text-align:left;border-radius:35px 20px}.profile-initial{font-size:44px;margin:0}.profile-identity .name{font-size:21px}.profile-block .bio{font-size:14px}.related-grid{grid-template-columns:1fr;gap:42px}.service-panel h3{font-size:23px}.faq-item summary{font-size:16px;gap:12px;padding:22px 0}.faq-answer{font-size:14px;padding:0 4px 24px 27px}.contact-band{padding:40px 24px;border-radius:28px}.contact-band h2{font-size:25px}.contact-band p{font-size:14px}.contact-band .btn{font-size:14px;gap:15px;padding:16px 22px}.site-footer{padding-top:45px;border-radius:35px 35px 0 0}.footer-links{grid-template-columns:1fr 1fr;gap:24px}.footer-links a{font-size:12px;min-height:40px}.footer-bottom{display:block;font-size:10px}.footer-bottom span{display:block;margin-top:8px}.page-hero{padding:38px 0 40px}.page-hero h1{font-size:28px}.page-hero p{font-size:14px}.breadcrumb{margin-bottom:20px}.page-content{padding-block:50px 65px}.prose h2{font-size:24px;margin-top:38px}.prose p,.prose li{font-size:15px}.info-list>div{grid-template-columns:1fr;gap:7px;padding:20px 0;font-size:14px}.service-main,.service-row{grid-template-columns:1fr;gap:25px}.service-main h2,.service-row h2{font-size:25px}.filters{padding:20px;gap:17px;grid-template-columns:1fr}.filter:first-child{grid-column:auto}.person-list{grid-template-columns:1fr;gap:18px}.person-card{padding:24px}.person-card h2{font-size:20px}.report-item h3{font-size:18px}.count{gap:8px;font-size:12px}.count .divider{margin:0 8px}.count strong{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Emi Works: portrait, original responsive diagrams and illustrated journal. */
.nav-list{gap:18px}.nav-list a{white-space:nowrap}
.portrait-hero{max-width:470px;margin-inline:auto}.portrait-hero img{aspect-ratio:1;object-fit:cover}
.profile-identity .profile-portrait{width:230px;margin:0 auto 25px;border-radius:50% 50% 38% 42%}.client-portrait{max-width:420px;margin:0 auto 42px}.client-portrait img{border-radius:45px 24px;width:100%}
.diagram-pair{margin:36px auto;max-width:960px}.emi-diagram{margin:32px auto;max-width:960px}.emi-diagram img{width:100%;height:auto;border-radius:20px;margin:0}.emi-visual-sp{display:none}.emi-visual-pc{display:block}
.diagram-details{border-top:1px solid var(--line);margin-top:28px}.diagram-details summary{padding:20px 0;cursor:pointer;font-size:15px;font-weight:500}.diagram-details .flow{margin-top:20px}
.emi-manga-portrait{margin:32px auto;max-width:440px;text-align:center}.emi-manga-portrait img{width:min(420px,calc((100svh - 180px) * .6));height:auto;max-height:min(720px,calc(100svh - 180px));max-width:440px;object-fit:contain;margin:0 auto!important;border-radius:0!important}.emi-manga-portrait figcaption{font-size:12px;color:var(--muted);line-height:1.8;margin-top:16px}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:30px}.journal-card{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden}.journal-card>a{display:flex;flex-direction:column;height:100%;text-decoration:none}.journal-card img{width:100%;height:auto;margin:0;border-radius:0}.journal-card>a>div{display:flex;flex-direction:column;flex:1;padding:24px}.journal-card h3{font-size:21px;margin:14px 0}.journal-card p{font-size:14px;color:var(--muted);flex:1}.journal-card .text-link{align-self:flex-start;font-size:13px}.journal-card time,.post-meta{font-size:12px;color:var(--muted)}
.blog-body{max-width:840px}.blog-body h1{font-size:clamp(28px,3vw,38px);margin:0 0 15px}.blog-body>p{line-height:2;margin-bottom:24px}.blog-body h2{margin:54px 0 24px;font-size:26px}.blog-body .article-cover{max-width:800px;margin:28px auto 42px}.article-cover img{width:100%;margin:0!important;border-radius:24px}.blog-body .emi-diagram{max-width:760px}.blog-body .emi-body-photo{max-width:680px;margin:30px auto}.blog-body .emi-body-portrait{max-width:350px;margin:30px auto}.blog-body figcaption{font-size:12px;color:var(--muted);line-height:1.8;margin-top:10px}.blog-body .emi-body-portrait img{border-radius:40px 20px;margin:0}.blog-body .wp-block-buttons{margin-top:32px}.wp-block-button__link{display:inline-flex;padding:16px 24px;border-radius:100px;color:white;background:var(--sage);text-decoration:none;font-size:15px;line-height:1.7}.source-note{font-size:13px!important;border-left:3px solid #c8d8c0;padding-left:16px}.blog-body .wp-block-spacer{margin:0}.blog-body .author-box{clear:both}
@media(max-width:1180px){.header-inner{min-height:82px;width:calc(100% - 40px)}.site-nav{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;border-bottom:1px solid var(--line);padding:12px 25px;max-height:calc(100dvh - 82px);overflow:auto}.site-nav.open{display:block}.nav-list{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-list a{font-size:15px;padding:12px 4px;border-bottom:1px solid var(--line)}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}}
@media(max-width:900px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:759px){.emi-visual-pc{display:none}.emi-visual-sp{display:block}.emi-diagram{max-width:460px}.emi-manga-portrait img{width:100%;max-width:440px;max-height:none}.diagram-pair{max-width:460px}.blog-body .emi-diagram{max-width:440px}}
@media(max-width:640px){.portrait-hero{max-width:390px}.profile-identity{display:block;text-align:center}.profile-identity .profile-portrait{width:190px;margin-bottom:20px}.journal-grid{grid-template-columns:1fr;gap:24px}.journal-card>a>div{padding:23px}.journal-card h3{font-size:21px}.diagram-pair{margin:28px auto}.blog-body h1{font-size:27px}.blog-body h2{font-size:24px;margin-top:40px}.blog-body .article-cover{margin:24px auto 30px}.blog-body .emi-diagram,.blog-body .emi-manga-portrait{margin:22px auto}.blog-body .emi-body-portrait{max-width:335px}.blog-body .wp-block-spacer{height:32px!important}}

h1,h2,h3{word-break:auto-phrase}

@media(max-width:768px){.profile-block{grid-template-columns:1fr}.profile-identity{max-width:520px;width:100%;margin-inline:auto}}

/* Works page: source portraits beside each person's name. */
.person-heading{display:grid;grid-template-columns:128px minmax(0,1fr);gap:22px;align-items:center;margin-bottom:22px}
.person-photo{margin:0;min-width:0;align-self:start}
.person-photo img{width:128px;height:128px;object-fit:contain;background:var(--green);border-radius:20px}
.person-photo figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:8px;text-align:center}
.person-identity{min-width:0}.person-regions{display:flex;gap:6px;flex-wrap:wrap}
.person-card .person-identity h2{margin:12px 0 0;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:900px) and (min-width:641px){.person-heading{grid-template-columns:104px minmax(0,1fr);gap:16px}.person-photo img{width:104px;height:104px}.person-card .person-identity h2{font-size:19px}}
@media(max-width:640px){.person-heading{grid-template-columns:88px minmax(0,1fr);gap:17px;margin-bottom:20px}.person-photo img{width:88px;height:88px;border-radius:16px}.person-card .person-identity h2{font-size:19px;letter-spacing:.02em;margin-top:10px}.person-photo figcaption{font-size:11px}}
.person-honorific{white-space:nowrap}.person-alias{display:block;font-size:14px;font-weight:500;letter-spacing:0;line-height:1.7;margin-top:4px;white-space:nowrap}
@media(max-width:360px){.person-heading{grid-template-columns:64px minmax(0,1fr);gap:12px}.person-photo img{width:64px;height:64px}.person-alias{font-size:13px}}
@media(max-width:740px){.voice-detail-grid h1{font-size:25px}}
@media(max-width:360px){.voice-detail-grid h1{font-size:22px}.voice-card-quote{font-size:19px}}
