/* Mobile reading stays legible; the four main actions remain within reach. */
.step-reading{min-width:0}.step-reading:focus-visible{outline:3px solid #08476c;outline-offset:-3px;border-radius:3px}
.owner-intro button:focus-visible,.owner-intro a:focus-visible,.owner-examples button:focus-visible,.owner-dialog button:focus-visible,.scene-owner-action:focus-visible{outline:3px solid #08476c;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.flow-story-heading>span,.relationships{color:#526e7f}
.close-dialog,.owner-dialog-top>button{min-width:44px;min-height:44px;width:44px;height:44px}
.motion-toggle{min-height:44px}.owner-documents summary{min-height:44px;display:flex;align-items:center}
.arrow{min-width:44px;min-height:44px;width:44px;height:44px;line-height:1}.chapter-menu{min-height:44px}
.exchange-controls button{min-height:44px}.moments button,.detail-tabs button{min-height:44px}
.exchange-controls button[aria-disabled=true]{opacity:.5;cursor:wait}
.reading p{font-size:14px}.stage .scene-context .scene-owner-action{min-height:44px;font-size:13px}
.chapter-list button{min-height:48px}.detail-toggle{min-height:44px;display:inline-flex;align-items:center}
.owner-tabs button{min-height:64px}.owner-dialog-top{position:sticky;top:0;z-index:2;background:#f2f6f8;padding:5px 0}
.owner-dialog,.stage dialog{max-height:calc(100svh - 24px);overscroll-behavior:contain}
.dialog-body{overflow-x:auto}.dialog-header{gap:12px}.dialog-footer button{min-height:44px}
.stage.compact-layout{overflow:hidden}
.compact-layout .viewport{min-height:0;flex:1 1 auto}
.compact-layout #journeyReading{height:clamp(260px,40svh,340px);flex:0 0 clamp(260px,40svh,340px);padding:10px 12px;min-height:0;display:block}
.compact-layout .reading-main{display:flex;flex-direction:column;height:100%;min-height:0}
.compact-layout .reading-meta{flex:0 0 auto;flex-wrap:wrap;gap:4px 8px;margin-bottom:6px}
.compact-layout .chapter-name{font-size:11px;line-height:1.35;min-height:0}
.compact-layout .process-status{font-size:11px;padding:4px 6px;gap:4px}.compact-layout .process-status svg,.compact-layout .process-status img{width:16px;height:16px}
.compact-layout .step-reading{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:auto;scrollbar-width:thin;padding:0 5px 5px 0;scroll-padding:8px}
.compact-layout .reading h2{font-size:21px;line-height:1.2;margin:0 0 7px;letter-spacing:-.025em}
.compact-layout .reading p{font-size:14px;line-height:1.55;max-width:65ch}
.compact-layout .reading-bottom{display:block;margin-top:8px}.compact-layout .keywords{display:none}
.compact-layout .detail-toggle{font-size:13px;line-height:1.4;padding:6px 0;white-space:normal;min-height:44px}
.compact-layout .exchange-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px;flex:0 0 auto}
.compact-layout .exchange-controls button{width:100%;min-height:44px;margin:0;padding:7px 8px;font-size:13px;line-height:1.3;justify-content:center}
.stage.compact-layout .exchange-controls #previousMoment,.stage.compact-layout .exchange-controls #nextMoment{min-height:44px;font-size:13px;padding:7px 8px}
.compact-layout .exchange-controls .read-exchange,.compact-layout .exchange-controls .owner-inline-action{background:#fff;color:#08476c;border:1px solid #b7cbd7;border-bottom:2px solid #fbc100;max-width:none;flex:none;text-align:center}
.compact-layout .cases{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-width:none;margin-top:8px;flex:none}
.compact-layout .cases>span{grid-column:1/-1;font-size:12px}.compact-layout .cases button{font-size:12px;min-height:44px;line-height:1.4;padding:7px}
.compact-layout .navigation{min-height:56px;height:56px;flex:0 0 56px;display:flex;padding:5px 12px;gap:6px}
.compact-layout .chapters-controls{width:100%;min-width:0;display:flex;gap:6px}.compact-layout .chapter-menu{min-width:0;flex:1;min-height:44px;font-size:12px;padding:7px 9px}
.compact-layout .chapter-menu>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-layout .arrow{flex:0 0 44px}
.compact-layout .moments,.compact-layout .progress-area{display:none}
.compact-layout .foot{min-height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 12px 4px;font-size:10px;line-height:1.35;color:#526e7f}
.compact-layout .foot>span{min-width:0;max-width:none;flex:1;font-size:10px;line-height:1.35}
.compact-layout .motion-toggle{min-height:44px;flex:0 0 148px;max-width:148px;font-size:11px;line-height:1.25;padding:6px;border-color:#a8bfce}
.compact-layout .scene-context{display:none!important}
.compact-layout .exchange-identity{display:none}
.compact-layout .exchange-flow{font-size:12px;line-height:1.3;padding:5px 9px;gap:4px;border:1px solid #c6d8e2;border-radius:8px;margin-bottom:6px}
.compact-layout .exchange-flow img{width:18px;height:18px}
.compact-layout .scene-compact-message{padding:9px 11px}.compact-layout .scene-compact-message>strong{font-size:14px;line-height:1.3}
.compact-layout .scene-compact-message>p{font-size:15px;line-height:1.4;margin:6px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.compact-layout .scene-compact-message>small{display:none}
.compact-layout .scene-anchor-label{font-size:11px;line-height:1.3;max-width:170px;padding:3px 7px}
.compact-layout .journey-transition{font-size:12px;line-height:1.4;padding:6px 10px}
@media(max-width:700px){
 .owner-intro,.owner-examples{padding-left:20px;padding-right:20px}.owner-intro h1{font-size:clamp(32px,8.8vw,42px)}
 .owner-primary,.owner-text-button{min-height:48px}.flow-controls button{width:48px;height:48px;min-width:48px;min-height:48px}
 .owner-example-panel:focus-visible,.owner-tabs button:focus-visible{outline:3px solid #08476c;outline-offset:3px}
 .flow-story-heading>span{font-size:13px}.flow-node small{font-size:12px}.flow-core-note{font-size:10px}.flow-benefit small{font-size:13px}
 .owner-dialog,.stage dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px)}
 .dialog-header{padding:16px 16px 12px}.dialog-header h2{font-size:22px}.dialog-body{padding:8px 16px 18px;font-size:15px}.dialog-body p{font-size:15px;line-height:1.6}
 .dialog-body table{font-size:13px}.chapter-list{grid-template-columns:1fr}.role-grid,.inspection-pair,.agent-list{grid-template-columns:1fr}
 .dialog-footer{padding:12px 16px;gap:8px;flex-wrap:wrap}.dialog-footer button{font-size:13px;min-height:44px}
}
@media(max-width:700px) and (max-height:700px){
 .compact-layout #journeyReading{height:260px;flex-basis:260px}
 .compact-layout .reading h2{font-size:20px}.compact-layout .reading p{font-size:14px}
 .compact-layout .scene-compact-message>p{-webkit-line-clamp:2}
}
@media(max-width:700px) and (max-height:650px){
 .compact-layout #journeyReading{height:230px;flex-basis:230px}
 .compact-layout .scene-compact-message>p{display:none}
}
@media(min-width:560px) and (max-height:600px){
 .stage.compact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr) 56px 48px}
 .compact-layout .viewport{grid-column:1;grid-row:1;min-height:0}
 .compact-layout #journeyReading{grid-column:2;grid-row:1;height:auto;min-height:0;padding:8px 12px;border-left:1px solid #d7e2e8;border-top:0}
 .compact-layout .navigation{grid-column:1/-1;grid-row:2}.compact-layout .foot{grid-column:1/-1;grid-row:3}
 .compact-layout .reading h2{font-size:19px}.compact-layout .reading p{font-size:14px}.compact-layout .reading-meta{margin-bottom:4px}
 .compact-layout .exchange-controls{margin-top:5px;gap:5px}.compact-layout .scene-compact-message>p{-webkit-line-clamp:2}
 .compact-layout .focus-brand{display:none}
}
@media(min-width:560px) and (max-height:450px){
 .compact-layout .exchange-controls{grid-template-columns:44px 44px minmax(44px,.6fr) minmax(85px,1fr)}
 .stage.compact-layout .exchange-controls #previousMoment,.stage.compact-layout .exchange-controls #nextMoment{width:44px;min-width:44px;padding:7px}
 .compact-layout #previousMoment span,.compact-layout #nextMoment span{display:none}
 .compact-layout .read-exchange,.compact-layout .owner-inline-action{font-size:12px}
 .compact-layout .scene-compact-message>p{display:none}
}
@media(prefers-reduced-motion:reduce){.step-reading{scroll-behavior:auto}}
.ultra-compact-scene .scene-compact-message>strong{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:13px}
.ultra-compact-scene .scene-compact-message{padding:6px 8px}
.ultra-compact-scene .exchange-flow{padding:2px 5px;margin-bottom:3px;gap:1px}
.ultra-compact-scene .exchange-flow .flow-actor{font-size:0;line-height:1.3}
.ultra-compact-scene .exchange-flow .flow-actor:after{content:attr(data-short-label);font-size:12px}
.ultra-compact-scene .exchange-flow .flow-actor .flow-inline-brand{display:none}
.ultra-compact-scene .flow-actor[data-short-label="AIMS"] .flow-inline-brand,.ultra-compact-scene .flow-actor[data-short-label="ImmoConcept"] .flow-inline-brand{display:inline-flex;font-size:12px;line-height:1.3}
.ultra-compact-scene .flow-actor[data-short-label="AIMS"]:after,.ultra-compact-scene .flow-actor[data-short-label="ImmoConcept"]:after{display:none}

/* A clear start in the building, followed by unmistakable step controls. */
.journey-entry{position:absolute;z-index:6;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 36px));max-height:calc(100% - 20px);overflow:auto;padding:22px 25px;background:#fffffff5;border:1px solid #8aafc6;border-top:5px solid #fbc100;border-radius:17px;box-shadow:0 15px 45px #06385335;text-align:center;color:#08476c;pointer-events:auto}
.journey-entry-title{display:block;font-size:27px;line-height:1.15;letter-spacing:-.025em;font-weight:750}
.journey-entry-copy{margin:12px 0 16px;font-size:15px;line-height:1.5;color:#426273}
.journey-entry-action{display:flex;align-items:center;justify-content:center;gap:15px;width:100%;min-height:54px;padding:12px 16px;border:2px solid #d7a400;border-radius:9px;background:#fbc100;color:#073a59;font-size:17px;line-height:1.25;font-weight:750;box-shadow:0 4px 14px #fbc10033;cursor:pointer}
.journey-entry-action svg{width:27px;height:27px;flex:none}.journey-entry-help{display:block;margin:11px 0 0;font-size:13px;line-height:1.4;color:#426273}
.journey-entry-action:focus-visible{outline:3px solid #08476c;outline-offset:4px;box-shadow:0 0 0 7px white}
.stage:not(.compact-layout) #journeyReading{height:224px;flex-basis:224px}
.stage.is-journey-entry .scene-context,.stage.is-journey-entry .relationships,.stage.is-journey-entry .scroll-hint{display:none!important}
.journey-instructions{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0;border:0}
.stage .exchange-controls #nextMoment,.stage.compact-layout .exchange-controls #nextMoment{min-height:52px;background:#fbc100;color:#073a59;border:2px solid #d7a400;box-shadow:0 3px 12px #fbc10033;font-size:15px;font-weight:750;gap:11px;padding:10px 14px}
.stage .exchange-controls #previousMoment,.stage.compact-layout .exchange-controls #previousMoment{min-height:52px;background:#fff;color:#08476c;border:2px solid #08476c;font-size:14px;font-weight:650;gap:9px;padding:10px 12px}
.stage .exchange-controls #nextMoment svg,.stage .exchange-controls #previousMoment svg{width:26px;height:26px;flex:none;stroke-width:2.2}
.owner-view .owner-view-explore{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:76px;padding:21px 26px;margin-top:30px;border:1px solid #08476c;border-radius:12px;background:#08476c;color:#fff;font-size:21px;font-weight:650;line-height:1.3;box-shadow:0 7px 20px #08476c15}
.owner-view-explore svg{width:30px;height:30px;flex:none;color:#fbc100}
.compact-scene .journey-entry{width:min(390px,calc(100% - 24px));padding:14px 16px;border-top-width:4px;border-radius:12px}
.compact-scene .journey-entry-title{font-size:21px}.compact-scene .journey-entry-copy{font-size:14px;line-height:1.4;margin:9px 0 12px}.compact-scene .journey-entry-action{min-height:48px;font-size:16px;padding:9px 12px}.compact-scene .journey-entry-help{font-size:12px;margin-top:8px}
.ultra-compact-scene .journey-entry{padding:9px 12px;max-height:calc(100% - 12px)}.ultra-compact-scene .journey-entry-title{font-size:17px;line-height:1.15}.ultra-compact-scene .journey-entry-copy,.ultra-compact-scene .journey-entry-help{display:none}.ultra-compact-scene .journey-entry-action{min-height:44px;margin-top:9px;font-size:14px;padding:7px 10px}
@media(max-height:700px){
 .stage .exchange-controls #nextMoment,.stage.compact-layout .exchange-controls #nextMoment,.stage .exchange-controls #previousMoment,.stage.compact-layout .exchange-controls #previousMoment{min-height:44px;font-size:13px;padding:7px 8px;gap:7px}
 .stage .exchange-controls #nextMoment svg,.stage .exchange-controls #previousMoment svg{width:23px;height:23px}
}
@media(max-width:700px){.owner-view .owner-view-explore{font-size:18px;min-height:72px;padding:18px 20px}}
@media(max-width:360px){.compact-layout #previousMoment span,.compact-layout #nextMoment span{font-size:0}.compact-layout #previousMoment span:after,.compact-layout #nextMoment span:after{content:attr(data-short-label);font-size:13px}}
