@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--paper:#f4f1e9;--ink:#262d27;--muted:#656b61;--line:#d7d9cd;--accent:#984631;--serif:'Noto Serif JP',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}.dojo-home{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.8}.dojo-home a{color:inherit;text-decoration:none}.dojo-home button,.dojo-home select{font:inherit}.dojo-home button,.dojo-home a,.dojo-home select{-webkit-tap-highlight-color:transparent}.dojo-home :focus-visible{outline:3px solid #b96a3e;outline-offset:5px}.dojo-home h1,.dojo-home h2,.dojo-home h3,.dojo-home p{margin:0}.dojo-home h1,.dojo-home h2{font-family:var(--serif);font-weight:500;line-height:1.4}.dojo-nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 4.8%;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}.dojo-brand{display:flex;align-items:center;gap:13px;font-size:18px;letter-spacing:.06em;font-weight:600}.dojo-brand img{width:38px;height:38px;border-radius:50%}.dojo-navlinks{display:flex;align-items:center;gap:28px;font-size:14px}.dojo-navlinks a:hover{color:var(--accent)}.dojo-language{max-width:128px;font-size:14px!important;padding:9px 8px;background:transparent;border:1px solid var(--line);border-radius:0;color:var(--ink)}.dojo-nav .dojo-dashboard{border-bottom:1px solid var(--ink);padding:7px 0}.dojo-eyebrow{font-size:14px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.dojo-hero{position:relative;min-height:760px;height:calc(100svh - 86px);max-height:1100px;isolation:isolate;background:#22291e;color:#fff}.dojo-poster,.dojo-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.dojo-canvas{opacity:0}.dojo-hero[data-scene=ready] .dojo-canvas{opacity:1}.dojo-hero[data-scene=ready] .dojo-poster{display:none}.dojo-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,23,18,.73),rgba(12,23,18,.28) 57%,transparent),linear-gradient(0deg,rgba(10,20,14,.67),transparent 35%);pointer-events:none}.dojo-hero-copy{padding:80px 6.5% 150px;max-width:850px}.dojo-hero .dojo-eyebrow{color:#e2dbc4}.dojo-hero h1{font-size:clamp(44px,4.8vw,76px);letter-spacing:.035em;margin:27px 0 22px;text-wrap:balance;max-width:770px}.dojo-hero h1 span{display:block}.dojo-hero-copy>p:not(.dojo-eyebrow){color:#e9e9dd;max-width:490px;font-size:17px}.dojo-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}.dojo-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:12px 22px;border:1px solid #b5bca7;font-size:15px!important;transition:background .2s,color .2s;cursor:pointer;background:transparent;color:inherit}.dojo-button.solid{background:var(--paper);color:var(--ink);border-color:var(--paper)}.dojo-button:hover{background:#d9ddca;color:#253128}.dojo-range-tag{position:absolute;right:5%;top:54px;border-left:1px solid #bcc3a5;padding-left:19px;font-size:14px;letter-spacing:.12em;line-height:1.8}.dojo-range-tag b{display:block;font-family:var(--serif);font-size:35px;font-weight:400}.dojo-controls{position:absolute;left:6.5%;right:5%;bottom:33px;display:flex;align-items:end;justify-content:space-between;gap:24px}.dojo-view-buttons{display:flex;gap:0;border:1px solid #a6af9b;background:#1b281d99;backdrop-filter:blur(10px)}.dojo-view-buttons button{color:#e1e6d5;background:transparent;border:0;border-right:1px solid #a6af9b55;padding:12px 22px;font-size:14px;cursor:pointer;min-height:48px}.dojo-view-buttons button:last-child{border-right:0}.dojo-view-buttons button[aria-pressed=true]{background:var(--paper);color:var(--ink)}.dojo-scene-caption{font-size:14px;opacity:.8;text-align:right;max-width:250px}.dojo-intro{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding:76px 6.5%;border-bottom:1px solid var(--line);align-items:start}.dojo-intro h2{font-size:clamp(28px,3vw,44px);max-width:750px}.dojo-intro p{color:var(--muted);margin-top:20px;max-width:700px}.dojo-section{padding:104px 6.5%;max-width:1600px;margin:auto}.dojo-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:42px}.dojo-section h2{font-size:clamp(30px,3.2vw,48px)}.dojo-section-head .dojo-eyebrow{margin-bottom:12px}.dojo-ai{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.dojo-ai h2{margin:15px 0 25px}.dojo-ai h3{font:500 24px/1.6 var(--serif);margin:0 0 20px}.dojo-ai p{color:var(--muted)}.dojo-ai .dojo-note{font-size:14px;border-left:2px solid var(--accent);padding-left:16px;margin-top:27px;line-height:1.9}.dojo-question-panel{background:#e7e9dd;padding:38px 35px;position:relative;border:1px solid #d1d5c5;box-shadow:12px 12px 0 #ecece2}.dojo-question-panel:before{content:'';position:absolute;right:28px;top:30px;width:32px;height:32px;border:1px solid #9ba891;border-radius:50%;box-shadow:0 0 0 7px #d7decd,0 0 0 8px #a3af97}.dojo-question-panel h3{max-width:80%;font-size:22px}.dojo-question-panel ol{list-style:none;padding:0;counter-reset:questions;margin:25px 0}.dojo-question-panel li{counter-increment:questions;padding:18px 0;display:flex;gap:16px;border-top:1px solid #bac3b0;font-size:16px}.dojo-question-panel li:before{content:'0' counter(questions);font-size:14px;color:#7b865f}.dojo-question-panel p{font-size:14px}.dojo-analysis{background:#26392e;color:var(--paper);max-width:none}.dojo-analysis-inner{max-width:1380px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.dojo-analysis .dojo-eyebrow{color:#bdc6ae}.dojo-analysis h2{margin:15px 0 20px}.dojo-analysis p{color:#c5cfbd}.dojo-analysis h3{font-size:22px;font-weight:500;margin:30px 0 8px}.dojo-analysis-diagram{border:1px solid #819078;padding:30px;background:radial-gradient(ellipse,#49624b66,transparent 70%);aspect-ratio:1.18;display:grid;place-items:center;position:relative}.dojo-analysis-diagram svg{width:85%;height:85%;overflow:visible}.dojo-analysis-diagram small{position:absolute;bottom:20px;left:25px;font-size:14px;letter-spacing:.12em;color:#bac7b0}.dojo-features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.dojo-feature{padding:30px 27px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.dojo-feature>span{color:#8d967f;font-size:14px;letter-spacing:.15em}.dojo-feature h3{font:500 24px/1.6 var(--serif);margin:21px 0 10px}.dojo-feature p{color:var(--muted);font-size:15px}.dojo-articles{background:#e9ebe1;border-block:1px solid var(--line);max-width:none}.dojo-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.dojo-article-card{border-top:1px solid #a6af9b;padding-top:22px;display:block}.dojo-article-cover{width:100%;aspect-ratio:1.75;object-fit:cover;background:#dde2d2;margin-bottom:20px}.dojo-article-art{aspect-ratio:1.75;background:#dce1d1;display:grid;place-items:center;position:relative;overflow:hidden;margin-bottom:20px}.dojo-article-art:after{content:'';width:120px;height:120px;border:1px solid #8d9c7e;border-radius:50%;box-shadow:0 0 0 18px #c5ceb9,0 0 0 19px #89977b,0 0 0 39px #c5ceb9,0 0 0 40px #89977b;transform:translate(50px,20px)}.dojo-article-card h3{font:500 24px/1.55 var(--serif);margin:13px 0}.dojo-article-card p{font-size:15px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dojo-article-card time{font-size:14px;color:var(--muted)}.dojo-article-card:hover h3{color:var(--accent)}.dojo-article-card .dojo-read{display:block;margin-top:18px;color:var(--accent);font-size:14px}.dojo-download{text-align:center;padding:96px 24px 105px;background:var(--paper)}.dojo-download h2{font:500 clamp(32px,4vw,54px)/1.5 var(--serif);margin:15px auto;max-width:850px}.dojo-download .dojo-actions{justify-content:center}.dojo-download .dojo-button{background:var(--ink);border-color:var(--ink);color:var(--paper)}.dojo-footer{padding:35px 6.5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:14px}.dojo-footer-links{display:flex;gap:24px;flex-wrap:wrap}.dojo-copyright{color:var(--muted);font-size:14px}.dojo-mobile-nav{display:none}
/* Public editorial pages inherit the same material and typography, with content intact. */
body.dojo-editorial{background:var(--paper)!important;color:var(--ink)!important;font-size:16px}body.dojo-editorial nav,body.dojo-editorial footer{background:var(--paper)!important;border-color:var(--line)!important;box-shadow:none!important}body.dojo-editorial main{background:var(--paper)!important}body.dojo-editorial .font-serif,body.dojo-editorial h1,body.dojo-editorial h2,body.dojo-editorial h3{font-family:var(--serif)!important;font-weight:500!important}body.dojo-editorial h1{letter-spacing:.02em;line-height:1.4!important}body.dojo-editorial article{font-size:18px;line-height:1.95}body.dojo-editorial .rounded-2xl,body.dojo-editorial .rounded-3xl{border-radius:0!important}body.dojo-editorial .text-primary{color:var(--accent)!important}body.dojo-editorial .bg-primary{background:var(--accent)!important}body.dojo-editorial .text-xs{font-size:14px!important}body.dojo-editorial article h2{border-top:1px solid var(--line);padding-top:30px}body.dojo-editorial .bg-bg-surface{background:#e8ebdf!important}body.dojo-editorial .reveal{opacity:1!important;transform:none!important}
@media(min-width:1600px){.dojo-hero-copy{padding-top:100px}.dojo-hero h1{font-size:78px}}
@media(max-width:1000px){.dojo-navlinks{gap:17px}.dojo-navlinks .dojo-secondary{display:none}.dojo-range-tag{display:none}.dojo-hero-copy{max-width:720px}.dojo-intro{gap:35px}.dojo-ai{gap:40px}.dojo-analysis-inner{gap:40px}.dojo-article-grid{gap:20px}.dojo-feature{padding:25px 20px}.dojo-footer{flex-wrap:wrap}}
@media(max-width:700px){.dojo-nav{height:74px;padding:0 20px;gap:12px}.dojo-brand{font-size:16px;gap:10px}.dojo-brand img{width:32px;height:32px}.dojo-navlinks>a{display:none}.dojo-language{max-width:105px}.dojo-hero{height:auto;min-height:750px}.dojo-hero-copy{padding:57px 25px 190px}.dojo-hero h1{font-size:42px;margin-top:23px;max-width:520px}.dojo-hero-copy>p:not(.dojo-eyebrow){font-size:16px}.dojo-hero .dojo-eyebrow{font-size:14px;letter-spacing:.1em}.dojo-shade{background:linear-gradient(90deg,#122318b3,#12231840),linear-gradient(0deg,#132318d9,transparent 65%)}.dojo-actions{gap:10px}.dojo-button{padding:11px 17px;font-size:14px!important}.dojo-controls{left:25px;right:25px;bottom:25px;display:block}.dojo-view-buttons{width:max-content;max-width:100%}.dojo-view-buttons button{padding:11px 16px;flex:1}.dojo-scene-caption{text-align:left;max-width:none;margin-top:13px!important}.dojo-intro{padding:47px 25px;grid-template-columns:1fr;gap:20px}.dojo-intro h2{font-size:28px}.dojo-section{padding:65px 25px}.dojo-ai,.dojo-analysis-inner{grid-template-columns:1fr;gap:38px}.dojo-ai h3{font-size:22px}.dojo-question-panel{padding:28px 22px;box-shadow:7px 7px 0 #ecece2}.dojo-analysis-diagram{aspect-ratio:1.1;order:2}.dojo-features{grid-template-columns:1fr 1fr}.dojo-feature{padding:22px 16px}.dojo-feature h3{font-size:20px}.dojo-feature p{font-size:14px}.dojo-section-head{align-items:start;flex-direction:column;gap:18px}.dojo-article-grid{grid-template-columns:1fr;gap:36px}.dojo-article-card h3{font-size:24px}.dojo-download{padding:65px 25px}.dojo-footer{padding:30px 25px;display:grid;gap:23px}.dojo-mobile-nav{display:flex;gap:20px;flex-wrap:wrap}.dojo-copyright{font-size:14px}.dojo-navlinks{gap:0}body.dojo-editorial article{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.dojo-stats{display:flex;justify-content:space-around;gap:30px;padding:55px 6.5%;border-bottom:1px solid var(--line)}.dojo-stats>div{display:flex;flex-direction:column;gap:8px}.dojo-stats b{font:500 clamp(28px,3vw,44px)/1.3 var(--serif)}.dojo-stats span{font-size:14px;color:var(--muted)}@media(max-width:700px){.dojo-stats{padding:38px 25px;gap:20px;flex-wrap:wrap}.dojo-stats b{font-size:28px}}
.dojo-hero[data-view="1"] .dojo-hero-copy,.dojo-hero[data-view="2"] .dojo-hero-copy{visibility:hidden}.dojo-hero[data-view="1"] .dojo-shade,.dojo-hero[data-view="2"] .dojo-shade{background:linear-gradient(0deg,#142418aa,transparent 30%)}.dojo-view-buttons[hidden]{display:none}@media(max-width:700px){.dojo-view-buttons{width:100%}.dojo-view-buttons button{min-width:0;padding-inline:10px;overflow-wrap:anywhere}}
.dojo-feature{min-width:0;overflow-wrap:anywhere}.dojo-features{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.dojo-features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.dojo-features{grid-template-columns:1fr}.dojo-feature{padding:24px}.dojo-feature h3{margin-top:12px}}
/* Architectural viewer: let the building occupy the first screen. */
.dojo-hero{min-height:600px;height:calc(100svh - 86px);max-height:1080px;background:#c5d4da;touch-action:pan-y}
.dojo-hero-copy{position:absolute;top:11%;left:5%;padding:0;max-width:360px;width:29%;text-shadow:0 1px 16px #17251e30}
.dojo-hero h1{font-size:clamp(34px,3.4vw,54px);margin:24px 0 22px;line-height:1.48;letter-spacing:.045em}
.dojo-hero-copy>p:not(.dojo-eyebrow){font-size:16px;max-width:320px;line-height:1.9}
.dojo-hero-copy .dojo-eyebrow{font-size:14px;letter-spacing:.12em;max-width:280px;line-height:1.9}
.dojo-hero-copy .dojo-actions{display:grid;gap:12px;margin-top:28px;max-width:260px}
.dojo-hero-copy .dojo-button{min-height:48px;padding:10px 15px;font-size:14px!important;text-shadow:none}
.dojo-shade{background:linear-gradient(90deg,#142820b0, #14282059 25%,#14282000 50%),linear-gradient(0deg,#182b21a6,transparent 19%)}
.dojo-range-tag{top:32px;right:4%;font-size:14px;color:#fff;text-shadow:0 1px 9px #22382d}
.dojo-controls{left:5%;right:4%;bottom:30px;gap:24px}
.dojo-scene-caption{max-width:360px;line-height:1.8;color:#f5f4ea;opacity:1;text-shadow:0 1px 7px #182b21}
.dojo-drag-hint{font-size:14px;letter-spacing:.02em}
.dojo-view-buttons{background:#26392ee6;border-color:#f4f1e94d;backdrop-filter:blur(12px)}
.dojo-view-buttons button{padding:13px 20px;min-height:50px}
.dojo-hero[data-view="3"] .dojo-hero-copy,.dojo-hero[data-view="4"] .dojo-hero-copy,.dojo-hero[data-view="5"] .dojo-hero-copy,.dojo-hero[data-view="6"] .dojo-hero-copy,.dojo-hero[data-orbit="true"] .dojo-hero-copy{visibility:hidden}
.dojo-hero:not([data-view="0"]) .dojo-shade,.dojo-hero[data-orbit="true"] .dojo-shade{background:linear-gradient(0deg,#182b2180,transparent 22%)}
.dojo-canvas{cursor:grab}.dojo-hero:active .dojo-canvas{cursor:grabbing}
@media(max-width:1000px) and (min-width:701px){.dojo-hero-copy{width:33%;left:4%;top:9%;max-width:330px}.dojo-hero h1{font-size:31px}.dojo-hero-copy .dojo-eyebrow{max-width:240px}.dojo-scene-caption{max-width:230px}.dojo-view-buttons button{padding:12px 14px}}
@media(max-width:700px){
 .dojo-hero{height:820px;min-height:820px;max-height:none;background:#dce4e3}
 .dojo-canvas,.dojo-poster{top:170px;height:650px}
 .dojo-hero-copy{top:0;left:0;width:100%;max-width:none;height:auto;min-height:210px;padding:25px 25px 36px;color:var(--ink);text-shadow:none;background:linear-gradient(#f4f1e9 calc(100% - 36px),#f4f1e900)}
 .dojo-hero h1{font-size:30px;line-height:1.4;margin:12px 0 7px;letter-spacing:.025em;max-width:100%}
 .dojo-hero h1 span{display:inline}.dojo-hero h1 span+span:before{content:' '}
 .dojo-hero-copy .dojo-eyebrow{font-size:14px;max-width:none;letter-spacing:.06em;color:#566357}
 .dojo-hero-copy>p:not(.dojo-eyebrow){font-size:15px;line-height:1.65;color:#566357;max-width:none}
 .dojo-hero-copy .dojo-actions{display:none}
 .dojo-shade{background:linear-gradient(0deg,#182b218c,transparent 18%)}
 .dojo-controls{left:18px;right:18px;bottom:22px;display:block}
 .dojo-view-buttons{width:100%;max-width:100%}.dojo-view-buttons button{font-size:14px;padding:12px 8px;min-width:0;flex:1;overflow-wrap:anywhere}
 .dojo-scene-caption{text-align:left;margin-top:12px!important;max-width:none;font-size:14px;line-height:1.6}
 .dojo-hero:not([data-view="0"]) .dojo-canvas,.dojo-hero[data-orbit="true"] .dojo-canvas{top:0;height:820px}
}
@media(max-width:360px){.dojo-view-buttons button{padding-inline:6px;flex:1 1 auto;min-width:min-content;overflow-wrap:normal}}

.dojo-zoom{position:absolute;z-index:6;right:4%;bottom:110px;display:flex;flex-direction:column;background:#26392ee6;border:1px solid #f4f1e94d;backdrop-filter:blur(12px)}.dojo-zoom[hidden]{display:none}.dojo-zoom button{width:48px;height:48px;padding:0;border:0;background:transparent;color:#f4f1e9;font-size:28px;line-height:1;cursor:pointer;touch-action:manipulation}.dojo-zoom button+button{border-top:1px solid #f4f1e94d}.dojo-zoom button:hover,.dojo-zoom button:active{background:#f4f1e9;color:#26392e}.dojo-zoom button:disabled{opacity:.35;cursor:default}@media(max-width:700px){.dojo-zoom{right:18px;bottom:154px}}

/* Keep five localized scene views reachable without wrapping into the caption. */
.dojo-view-buttons{max-width:100%;overflow-x:auto}.dojo-view-buttons button{flex-shrink:0}
@media(max-width:700px){.dojo-view-buttons button{flex:1 0 auto;padding-inline:10px;white-space:nowrap;overflow-wrap:normal}}

.dojo-teachings{position:absolute;z-index:6;left:5%;top:22px;display:flex;gap:8px}.dojo-teachings[hidden]{display:none}.dojo-teachings button{min-height:48px;padding:10px 18px;border:1px solid #f4f1e96b;background:#26392ee6;color:#f4f1e9;cursor:pointer;touch-action:manipulation}.dojo-teachings button:hover,.dojo-teachings button[aria-pressed="true"]{background:#f4f1e9;color:#26392e}@media(max-width:700px){.dojo-teachings{left:18px;right:18px;top:18px}.dojo-teachings button{flex:1;padding-inline:12px}}

.dojo-walk{position:absolute;z-index:6;left:5%;bottom:110px;display:grid;grid-template-columns:repeat(3,44px);gap:4px;touch-action:none}.dojo-walk[hidden]{display:none}.dojo-walk button{height:44px;padding:0;border:1px solid #f4f1e96b;background:#26392ee6;color:#f4f1e9;font-size:24px;cursor:pointer;touch-action:none;user-select:none}.dojo-walk button[data-walk="0"]{grid-column:2}.dojo-walk button[data-walk="1"]{grid-column:2;grid-row:2}.dojo-walk button[data-walk="2"]{grid-column:1;grid-row:2}.dojo-walk button[data-walk="3"]{grid-column:3;grid-row:2}.dojo-walk button:active{background:#f4f1e9;color:#26392e}.dojo-walk span{grid-column:1/-1;color:#f4f1e9;font-size:11px;text-align:center;background:#26392ee6;padding:3px}@media(max-width:700px){.dojo-walk{left:18px;bottom:154px}.dojo-walk span{display:none}}
