/* White paper, clear color fields, upright typography. */
:root{--ink:#242d2a;--cobalt:#55748b;--coral:#efd8d5;--lime:#e1ebdc;--sand:#e1ebdc;--editorial-paper:#fff}
body,footer,.tone-paper,.home-news,.approved-outline,.initiative-connections,.initiative-photo img,.initiative-detail-cover img{background:#fff}
h1,h2,h3,h1 em,h2 em,h3 em{font-style:normal}a,button,input,select,summary{border-radius:0}
.tone-sand{background:#e1ebdc}.home-about{background:#f1deda}.mission-section{background:#f1deda}.services-domains-intro{background:#e1ebdc}.page-cta,.page-initiatives .page-cta{background:#e1ebdc}.home-path:nth-child(1){background:#e1ebdc}.home-path:nth-child(2){background:#dcebf5}.home-path:nth-child(3){background:#e8e1f1}.initiatives-opening,.initiative-panorama{background:#f1deda}.home-contact{background:#55748b}.footer-brand{color:var(--ink)}
.initiative-connection-intro,.initiative-network,.network-core,.network-photo>small,.page-initiatives{background:#fff}.initiative-connection-intro{border-top:1px solid #cbd9df}.network-project[data-project=vacant-homes] .network-photo{background:#e1ebdc}.capability:nth-child(2n){background:#dcebf5}
/* The words and project names supply the hierarchy; no decorative counters. */
.capability,.services-capabilities .capability{grid-template-columns:minmax(180px,1fr) minmax(260px,1.5fr)}.capability-arrow{grid-column:3}.service-chapter{grid-template-columns:1fr;padding-left:18%;padding-right:12%}.service-chapter-main{max-width:950px}.process-list li{display:block}.connection-story{display:block}.deck-contents li{display:block}.group-members article>span{display:none}.group-members article{padding-left:0}
/* Text animates locally. No wheel interception or scroll-position calculations. */
.animated-heading{isolation:isolate}.animated-heading .reveal-line{display:block;overflow:visible;padding:.12em .08em .18em;margin:-.12em -.08em -.18em}.animated-heading .reveal-line>span{display:inline;transform:none!important;transition:none!important}.motion-char{display:inline-block;white-space:pre;transform-origin:50% 100%;backface-visibility:hidden;transition:transform .95s cubic-bezier(.16,1,.3,1),opacity .65s ease;transition-delay:var(--char-delay,0ms)}
html.motion-ready:not(.motion-off) .animated-heading:not(.text-entered) .motion-char,html.motion-ready:not(.motion-off) [data-letter-reveal]:not(.text-entered) .motion-char{opacity:0;transform:translate3d(0,.7em,0) scaleY(1.26) rotateX(-35deg)}
html.motion-ready:not(.motion-off) .animated-heading.text-entered .motion-char,[data-letter-reveal].text-entered .motion-char{opacity:1;transform:none}

@keyframes ink-settle{0%,50%{color:#55748b}}@keyframes blue-settle{from{color:#55748b}to{color:#55748b}}
.home-about h2,.person-statement{color:#55748b}.plain-link,.person-project-link,.person-about-link a{position:relative}.plain-link:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s ease}.plain-link:hover:after,.plain-link:focus-visible:after{transform:scaleX(1);transform-origin:left}
/* Profile: a name, a point of view, and the places where the work happens. */
.person-opening{padding:200px 8% 95px;background:#fff;border-bottom:1px solid #cbd9df}.person-opening>.eyebrow{color:#55748b;margin-bottom:75px}.person-opening-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:end}.person-role{font-size:14px;line-height:2;margin-bottom:26px}.person-name{display:block;font-size:clamp(48px,5.6vw,80px);letter-spacing:.08em;line-height:1.4}.person-english{display:block;margin-top:17px;font-size:16px;letter-spacing:.14em}.person-statement{font-size:clamp(34px,4vw,54px);line-height:1.65;letter-spacing:.06em;margin-top:64px}.person-intro{font-size:16px;line-height:2.3;padding-bottom:10px;max-width:430px}.person-intro .plain-link{font-size:14px;margin-top:36px}.person-field-photo{width:76%;margin:85px 6% 120px 18%}.person-field-photo img{width:100%;aspect-ratio:1.7;object-fit:cover}.person-field-photo figcaption{font-size:12px;line-height:1.9;margin-top:18px}.person-background{display:grid;grid-template-columns:25% 1fr;gap:13%;padding:0 10% 125px;scroll-margin-top:50px}.person-background-main>.line-heading{font-size:31px;line-height:1.8;margin-bottom:30px}.person-background .reading-text{font-size:16px;max-width:660px}.person-career{margin:55px 0 0}.person-career>div{display:grid;grid-template-columns:32% 1fr;gap:30px;padding:28px 0;border-top:1px solid #bac6be}.person-career dt{font-size:14px;line-height:2}.person-career dd{margin:0;font-size:15px;line-height:2.1}.person-projects{padding:85px 10% 100px;display:grid;grid-template-columns:1fr 1.15fr;gap:12%;background:#dcebf5;color:var(--ink)}.person-projects h2{font-size:27px;line-height:1.9;margin:30px 0 22px}.person-projects>div>p:last-child{font-size:14px;line-height:2.1}.person-project-link{display:grid;grid-template-columns:1fr 24px;padding:27px 0;border-top:1px solid #a6b9c6}.person-project-link>span{font-size:12px;letter-spacing:.07em}.person-project-link h3{font-size:20px;line-height:1.9;grid-column:1;margin-top:20px}.person-project-link b{font-size:27px;font-weight:400;grid-column:2;grid-row:1/3;align-self:center;transition:translate .35s}.person-project-link:hover b{translate:5px -5px}.person-about-link{padding:65px 10% 80px;background:#dcebf5}.person-about-link>a{display:block;padding-top:30px}.person-about-link>a>span{font-size:14px;line-height:2}.person-about-link h2{font-size:35px;letter-spacing:.07em;line-height:1.7;margin:18px 0 25px}.person-about-link h2 small{font-size:15px;letter-spacing:.1em;display:inline-block;margin-left:20px}.person-about-link b{font-size:15px;font-weight:400;border-bottom:1px solid currentColor;padding-bottom:8px;display:inline-block}
@media(max-width:1050px){.person-opening-grid{gap:8%}.person-intro{font-size:15px}.person-background{gap:9%;grid-template-columns:24% 1fr}.person-projects{gap:8%}.service-chapter{padding-left:10%;padding-right:10%}}
@media(max-width:700px){.capability,.services-capabilities .capability{display:block}.capability-copy{margin-top:25px}.capability-copy>p{font-size:15px}.service-chapter{padding-left:9%;padding-right:9%}.person-opening{padding:150px 9% 65px;border-bottom-width:7px}.person-opening>.eyebrow{margin-bottom:50px}.person-opening-grid{display:block}.person-role{font-size:13px;margin-bottom:22px}.person-name{font-size:52px}.person-english{font-size:14px}.person-statement{font-size:36px;margin-top:38px;line-height:1.65}.person-intro{margin:42px 0 0 7%;font-size:15px;line-height:2.2}.person-field-photo{width:91%;margin:45px 0 65px 9%}.person-field-photo img{aspect-ratio:1.3}.person-field-photo figcaption{padding-right:20px;font-size:12px}.person-background{display:block;padding:0 9% 75px}.person-background-main{margin-top:35px}.person-background .reading-text{font-size:15px}.person-background-main>.line-heading{font-size:27px;margin-bottom:25px}.person-career{margin-top:35px}.person-career>div{display:block;padding:23px 0}.person-career dt{font-size:13px;color:#55748b}.person-career dd{font-size:15px;margin-top:10px}.person-projects{display:block;padding:55px 9% 65px}.person-projects h2{font-size:25px;margin-top:23px}.person-project-links{margin-top:35px}.person-project-link h3{font-size:18px}.person-about-link{padding:50px 9% 60px}.person-about-link h2{font-size:30px}.person-about-link h2 small{font-size:12px;margin-left:12px}.deck-contents li{display:block}.connection-story{display:block}}
.motion-off .motion-char{opacity:1!important;transform:none!important;transition:none!important}.motion-off .text-entered{animation:none!important}
@media(prefers-reduced-motion:reduce){.motion-char{opacity:1!important;transform:none!important;transition:none!important}.text-entered{animation:none!important}}



/* Shared pastel surfaces with dark, readable ink. */
:root{--blue:#dcebf5;--pink:#f1deda;--sand:#e1ebdc;--lavender:#e8e1f1;--cobalt:#55748b;--coral:#efd8d5;--lime:#e1ebdc;--line:#cbd5d7}
.tone-blue,.deck-teaser,.services-engagement,.person-about-link{background:var(--blue)}.tone-pink,.mission-section,.initiatives-opening,.initiative-panorama,.home-about{background:var(--pink)}.tone-sand,.page-cta,.page-initiatives .page-cta,.services-domains-intro{background:var(--sand)}.tone-lavender,.services{background:var(--lavender)}
.home-path:nth-child(1){background:var(--sand)}.home-path:nth-child(2){background:var(--blue)}.home-path:nth-child(3){background:var(--lavender)}.home-contact,.person-projects{background:var(--blue);color:var(--ink)}.home-contact .eyebrow,.home-about .side-label,.home-works-heading .eyebrow,.home-news .eyebrow{color:#526877}.home-contact-link,.person-project-link{border-color:#a6b9c6}.person-projects .eyebrow{color:#526877}.home-about .plain-link{border-color:#a99c9a}.home-work-meta>span:first-child,.work-section-nav,.approved-section-label{color:#526877}.home-works-heading h2:after{background:#8ba9ba}.network-project[data-project=idena] .network-action{background:var(--pink)}.network-project[data-project=nagai-nightmarket] .network-action{background:var(--lavender)}.network-project[data-project=playmap] .network-action{background:var(--blue)}.network-project[data-project=vacant-homes] .network-action,.network-project[data-project=vacant-homes] .network-photo{background:var(--sand)}.initiative-type{background:var(--sand)}.hero-scroll{background:var(--sand);color:var(--ink)}
/* Colored rows have a safe inner margin on both sides, including wrapped copy. */
.capability,.services-capabilities .capability{padding:44px clamp(26px,4vw,58px) 48px;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:clamp(28px,5vw,72px);min-width:0}.capability:nth-child(2n){background:var(--blue)}.capability:nth-child(2n+1){background:#fff}.capability-name,.capability-copy{min-width:0}.capability-name h3{line-height:1.85}.capability-works{gap:12px 22px}.capability-works a{line-height:2.1}.capability-copy>p{font-size:15px;line-height:2.2}.capability-copy>ul{font-size:15px;line-height:2.2;padding-left:1.3em}.service-case,.person-project-link,.home-path{min-width:0}.service-case>span,.person-project-link h3{overflow-wrap:anywhere}
/* Keep glyphs and arrow tips away from every clipping boundary. */
.animated-heading{overflow:visible}.hero-copy{left:7%;right:7%}.person-heading,.editorial-main,.page-heading{min-width:0}.plain-link>span,.home-contact-link>span{padding:.08em}.index-work-photo>span,.view-project{right:26px;bottom:24px}.person-field-photo{width:76%;margin-right:8%;margin-left:16%}
/* A short brand introduction, once per tab. It never locks native scrolling. */
.site-loader{position:fixed;inset:0;z-index:1000;background:var(--blue);display:grid;place-items:center;pointer-events:none;animation:loader-escape .6s ease 2.2s forwards}.loader-brand{text-align:center;color:var(--ink);font-family:var(--font);font-size:clamp(28px,5vw,58px);line-height:1.6;letter-spacing:.16em;font-weight:500}.loader-brand>span{display:block;font-size:12px;letter-spacing:.12em;font-weight:400;margin-top:12px}.loader-glyph{display:inline-block;animation:loader-letter .85s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--glyph)*35ms);transform-origin:50% 100%}.site-loader.is-leaving{animation:loader-escape .6s cubic-bezier(.76,0,.24,1) forwards}.site-loader[hidden]{display:none}
@keyframes loader-letter{from{opacity:0;transform:translateY(.55em) scaleY(1.3)}to{opacity:1;transform:none}}@keyframes loader-escape{to{opacity:0;visibility:hidden;transform:translateY(-2%)}}
/* Letter roll on navigation, with the original link name preserved. */
.roll-label{display:inline-flex;padding:.18em .04em;line-height:1.4}.roll-cell{position:relative;display:inline-block;overflow:hidden;vertical-align:top}.roll-face,.roll-back{display:block;transition:transform .5s cubic-bezier(.22,.68,.28,1);transition-delay:var(--roll-delay,0ms)}.roll-back{position:absolute;inset:0;transform:translateY(112%)}.desktop-nav a:hover .roll-face,.desktop-nav a:focus-visible .roll-face{transform:translateY(-112%)}.desktop-nav a:hover .roll-back,.desktop-nav a:focus-visible .roll-back{transform:translateY(0)}
/* Images unfold once as they enter, within an unchanged photo frame. */
.photo-reveal img{transition:clip-path 1.05s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}html.motion-ready:not(.motion-off) .photo-reveal:not(.photo-entered) img{clip-path:inset(0 0 12% 0);transform:scale(1.025)}.photo-reveal.photo-entered img{clip-path:inset(0);transform:scale(1)}
@media(max-width:1050px){.capability,.services-capabilities .capability{padding:36px 30px 40px;gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr)}.hero-copy{left:7%;right:7%}}
@media(max-width:700px){.capability,.services-capabilities .capability{display:block;padding:30px 24px 34px}.capability-name,.capability-copy{grid-column:auto}.capability-copy{margin-top:24px}.capability-copy>p,.capability-copy>ul{font-size:14px}.capability-name h3{font-size:22px}.capability-works{font-size:13px;gap:10px 18px}.hero-copy{left:8%;right:8%}.hero h1{font-size:clamp(22px,5.2vw,30px);letter-spacing:.08em}.person-field-photo{width:82%;margin-left:9%;margin-right:9%}.person-opening{border-bottom-width:1px}.loader-brand{font-size:32px}.loader-brand>span{font-size:11px}.roll-label{display:inline-flex}}
.motion-off .site-loader{display:none}.motion-off .photo-reveal img{clip-path:none!important;transform:none!important}.motion-off .roll-face,.motion-off .roll-back{transition:none!important}
@media(prefers-reduced-motion:reduce){.site-loader{display:none!important}.photo-reveal img{clip-path:none!important;transform:none!important;transition:none!important}.roll-face,.roll-back{transition:none!important}}

.loader-glyph{font-weight:500}.subpage .desktop-nav a[aria-current=page]:after{background:#8ba2af}
/* IDENA editorial case study: supplied copy, legible sections, complete brand image. */
.initiative-case .detail-heading h1{font-size:clamp(26px,3vw,40px);line-height:1.75;max-width:1000px}.initiative-case .detail-lead{font-size:24px;line-height:1.9;max-width:940px}.initiative-case-tags{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:26px 0 0;font-size:13px;line-height:2;color:#526877}.initiative-case-tags li{border-bottom:1px solid #a9bdc9;padding-bottom:3px}.initiative-brand-cover{margin-top:65px;margin-bottom:35px}.initiative-brand-cover img{width:min(100%,1051px);height:auto;max-height:none;object-fit:contain;margin:auto}.initiative-case-section{display:grid;grid-template-columns:25% minmax(0,1fr);gap:13%;padding:65px 10% 75px}.initiative-case-label{font-size:25px;line-height:1.7;letter-spacing:.02em;color:#526877}.initiative-case-copy{max-width:740px;min-width:0;font-size:16px;line-height:2.3;letter-spacing:.025em}.initiative-case-copy p+p{margin-top:28px}.initiative-case-outline{background:var(--blue)}.initiative-case-outline .project-facts{margin:0}.initiative-case-outline .project-facts>div{grid-template-columns:110px minmax(0,1fr);gap:25px;padding-block:24px}.initiative-case-outline .project-facts>div:first-child{border-top:0;padding-top:0}.initiative-case-outline .project-facts dt{font-size:14px}.initiative-case-outline .project-facts dd{font-size:15px;line-height:2.2;overflow-wrap:anywhere}.initiative-case-outline a{text-decoration:underline;text-underline-offset:5px}.initiative-case-subsection{margin-top:48px}.initiative-case-subsection h3{font-size:21px;line-height:1.9;margin-bottom:24px;letter-spacing:.02em}.initiative-case-related{padding:55px 10% 85px;background:var(--sand)}.initiative-case-related>p:nth-child(2){font-size:17px;line-height:2.1;margin-top:22px}.initiative-case-related>div{display:flex;flex-wrap:wrap;gap:15px 45px}.initiative-case-related .plain-link{margin-top:30px;font-size:14px;gap:25px}.network-project[data-project=idena] .network-photo img{object-fit:contain;background:#fff}
@media(max-width:1050px){.initiative-case-section{padding-inline:8%;grid-template-columns:23% minmax(0,1fr);gap:9%}.initiative-case-copy{font-size:15px}.initiative-case-outline .project-facts>div{grid-template-columns:90px minmax(0,1fr);gap:20px}}
@media(max-width:700px){.initiative-case .detail-heading h1{font-size:25px}.initiative-case .detail-lead{font-size:20px;line-height:1.9}.initiative-case-tags{font-size:12px;gap:7px 17px;margin-top:23px}.initiative-brand-cover{margin-top:35px;margin-bottom:15px}.initiative-case-section{display:block;padding:45px 9% 55px}.initiative-case-label{font-size:23px;margin-bottom:28px}.initiative-case-copy{font-size:15px;line-height:2.25}.initiative-case-copy p+p{margin-top:25px}.initiative-case-outline .project-facts>div{display:block;padding-block:20px}.initiative-case-outline .project-facts dd{font-size:14px;margin-top:10px}.initiative-case-subsection{margin-top:37px}.initiative-case-subsection h3{font-size:19px;margin-bottom:22px}.initiative-case-related{padding:40px 9% 55px}.initiative-case-related>p:nth-child(2){font-size:15px}.initiative-case-related .plain-link{font-size:13px;gap:20px;margin-top:25px}}
@media(max-width:700px){.initiative-opening-copy h1{font-size:clamp(22px,6.5vw,27px);letter-spacing:.04em}}
/* Japanese punctuation stays with its neighbour while each letter can still animate. */
.motion-unit{display:inline-block;white-space:nowrap;vertical-align:baseline}.reveal-line{line-break:strict;word-break:normal}.reading-text,.initiative-case-copy,.detail-lead,.home-path p,.person-intro{line-break:strict;word-break:normal;overflow-wrap:break-word}
html[lang=ja] body{line-break:strict}

/* Approved hero copy: give the Japanese subtitle room to breathe. */
.hero-tagline:empty{display:none}.hero-en{font-size:14px;line-height:2;letter-spacing:.04em;margin-top:25px}
@media(max-width:700px){.hero h1{letter-spacing:.025em}.hero-en{font-size:11px;line-height:2.1;letter-spacing:0;margin-top:22px}}
@media(min-width:701px){.hero-copy{top:27%}}

/* The slogan belongs to the introduction and the top brand signature. */
.header{background:#fff;color:var(--ink);min-height:98px;align-items:center}
.header .brand-signature{display:inline-flex;align-items:baseline;gap:10px;font-family:var(--font);font-size:24px;line-height:1.5;letter-spacing:.055em;white-space:nowrap;color:#55748b}
.header .brand-signature .brand-phrase{display:inline;font-size:14px;letter-spacing:.025em;margin:0;font-weight:500}
.header .brand-signature .brand-name{display:inline;font-family:Inter,sans-serif;font-size:24px;letter-spacing:.035em;margin:0;font-weight:500}
.hero-copy .hero-accessible-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.loader-brand{display:flex;align-items:baseline;justify-content:center;gap:.25em;padding:24px;letter-spacing:.045em;font-size:clamp(24px,3.6vw,48px)}
.loader-brand>.loader-word{display:inline-block;font-size:inherit;line-height:1.5;letter-spacing:inherit;margin:0;white-space:nowrap}
.loader-brand>.loader-name{font-family:Inter,sans-serif;font-size:1.15em;letter-spacing:.035em}
.loader-glyph{animation-duration:.7s;animation-delay:calc(var(--glyph)*18ms)}
@media(max-width:1050px){.header .brand-signature{gap:7px}.header .brand-signature .brand-phrase{font-size:12px}.header .brand-signature .brand-name{font-size:22px}}
@media(max-width:700px){.header{min-height:90px;padding-block:20px}.header .brand-signature{gap:8px}.header .brand-signature .brand-phrase{font-size:11px}.header .brand-signature .brand-name{font-size:20px}.header .menu-toggle{margin-top:0}}
@media(max-width:480px){.header .brand-signature{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.header .brand-signature .brand-phrase{font-size:11px}.header .brand-signature .brand-name{font-size:22px}.loader-brand{flex-direction:column;align-items:center;gap:10px;font-size:24px}.loader-brand>.loader-name{font-size:32px}}
