/* Living Blueprint 007: same viewport/cube/font scale; construction-only edge copy. */
:root{--journey-colour:#3fb8af;--review-hue:#3fb8af;--paper:#F3F1EC;--ink:#1d1d1f;--bj-mark-header:24px}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{background:var(--paper);color:var(--ink);font-family:sans-serif}
button,a{touch-action:manipulation}
button{font:inherit;cursor:pointer;color:inherit}
button:focus-visible,a:focus-visible,#cube-stage:focus-visible{outline:2px solid var(--journey-colour);outline-offset:4px}
#cube-stage:focus-visible{outline-offset:-5px}
[hidden]{display:none!important}
.visually-hidden{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}
#hub{position:fixed;inset:0;pointer-events:none}
#cube-stage{position:fixed;inset:0;width:100%;height:100%;cursor:grab;pointer-events:auto;z-index:0}
#cube-stage:active{cursor:grabbing}
#cube-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
#review-header{position:fixed;top:0;left:0;right:0;z-index:12;display:flex;align-items:center;gap:1rem;padding:18px 22px;min-height:62px;pointer-events:none}
.wm{display:flex;align-items:center;font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;letter-spacing:.02em;text-decoration:none;pointer-events:auto}
.wm .b{color:#8a8780}.wm .j{color:var(--journey-colour)}
[data-bj-mark]{display:inline-block;block-size:var(--bj-mark-header);aspect-ratio:1031 / 1105;flex:0 0 auto;background:var(--journey-colour);-webkit-mask:url('../brand/brainjuice-logo.png') center / contain no-repeat;mask:url('../brand/brainjuice-logo.png') center / contain no-repeat;vertical-align:middle;margin-inline-end:.45em}
.edge-actions{margin-left:auto;display:flex;align-items:center;gap:1.2rem;pointer-events:auto}
#motion-control{position:static;flex:none;margin:0;background:none;border:0;border-radius:0;padding:.45rem 0;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px}
#coming-next{position:fixed;left:50%;top:76px;transform:translateX(-50%);width:min(640px,calc(100vw - 44px));z-index:6;text-align:center;pointer-events:none}
#coming-heading{font-family:'Plus Jakarta Sans',sans-serif;font-weight:400;font-size:1.2rem;line-height:1.45;margin:0 0 .6rem}
#coming-next p{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;line-height:1.6;margin:0;color:#6f6c66}
#face-glimpse{position:fixed;left:22px;bottom:100px;width:min(340px,calc(100vw - 44px));z-index:8;pointer-events:none;text-align:left}
.glimpse-state{display:flex;align-items:center;gap:.55rem;font-family:'Plus Jakarta Sans',sans-serif;font-weight:400;font-size:1.2rem;margin:0 0 .6rem}
.lock-mark{position:relative;display:inline-block;width:9px;height:8px;border:1px solid var(--journey-colour);flex:0 0 auto}
.lock-mark::before{content:'';position:absolute;left:1px;top:-6px;width:5px;height:5px;border:1px solid var(--journey-colour);border-bottom:0;border-radius:5px 5px 0 0}
#glimpse-copy{font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;line-height:1.6;margin:0;color:#6f6c66;max-width:32ch}
#interaction-cue{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);width:min(640px,calc(100vw - 44px));z-index:6;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;line-height:1.6;color:#6f6c66;text-align:center;margin:0;pointer-events:none}
#business-promise{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:6;width:min(780px,calc(100vw - 340px));margin:0;text-align:center;line-height:1.6;pointer-events:none}
#selection-ripple{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:7}
#london-clock{position:fixed;left:22px;bottom:18px;z-index:10;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;letter-spacing:.08em;color:#6f6c66;font-variant-numeric:tabular-nums;line-height:1.4;pointer-events:none}
#london-clock .lbl{display:block;font-size:10px;letter-spacing:.18em;color:#a19d95}
#contact-link{position:fixed;right:22px;bottom:22px;z-index:10;padding:.3rem 0;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--journey-colour)}
#contact-link span{color:var(--journey-colour)}
body.dragging-cube #face-glimpse{visibility:hidden}
.render-fallback #cube-stage{visibility:hidden}
.render-fallback #face-glimpse{display:none}
.no-script-note{position:fixed;top:45%;left:22px;right:22px;z-index:20;margin:0;text-align:center;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;line-height:1.6}
@media(max-width:600px){
 #review-header{flex-wrap:wrap;padding:14px 18px;gap:.6rem}.edge-actions{gap:1rem}
 #coming-next{top:90px;width:calc(100vw - 36px)}
 #face-glimpse{left:18px;bottom:210px;width:calc(100vw - 36px)}
 #interaction-cue{bottom:148px;width:calc(100vw - 36px)}
 #business-promise{bottom:60px;width:calc(100vw - 36px)}
 #contact-link{right:18px}#london-clock{left:18px}
}
@media(max-height:600px) and (min-width:601px){#coming-next{top:64px}#face-glimpse{bottom:108px}#interaction-cue{bottom:72px}#business-promise{bottom:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Copy 008: existing font sizes and edge coordinates retained. Only phones disclose long text. */
#construction-status{color:var(--ink)}
.copy-disclosure{margin-top:.65rem;pointer-events:none}
.copy-disclosure>summary{list-style:none;font-family:'Plus Jakarta Sans',sans-serif;font-weight:400;font-size:13px;line-height:1.6;color:var(--ink);cursor:default}
.copy-disclosure>summary::-webkit-details-marker{display:none}
.copy-disclosure .copy-body{margin-top:.5rem}
#glimpse-extra p{font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;line-height:1.6;color:#6f6c66;margin:.65rem 0 0;max-width:32ch}
#locked-cue{font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;line-height:1.6;color:#6f6c66;margin:.5rem 0 0;max-width:32ch}
@media(max-width:600px){
 .copy-disclosure>summary{pointer-events:auto;cursor:pointer;text-decoration:underline;text-decoration-color:var(--journey-colour);text-underline-offset:.22em}
 .copy-disclosure>summary::after{content:' +';color:var(--journey-colour);white-space:nowrap}
 .copy-disclosure[open]>summary::after{content:' −'}
 .copy-disclosure>summary:focus-visible{outline:2px solid var(--journey-colour);outline-offset:4px}
 .copy-disclosure[open] .copy-body{pointer-events:auto;background:var(--paper);max-height:32vh;max-height:32dvh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;text-align:inherit}
 .copy-body:focus-visible{outline:2px solid var(--journey-colour);outline-offset:3px}
 .render-fallback #team-story .copy-body{max-height:45vh;max-height:45dvh}
}

/* 009 approved brand, header hierarchy and recoverable introduction only. */
:root{--bj-mark-header:30px;--heading-hue:#24746e}
body{font-family:'Plus Jakarta Sans',sans-serif}
.wm{font-size:18.75px}
#coming-heading,.glimpse-state,.copy-disclosure>summary,.copy-subheading{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--heading-hue)}
.copy-subheading{font-size:12px;line-height:1.6;max-width:32ch;margin:.85rem 0 .18rem}
#glimpse-extra .copy-subheading+p{margin-top:0}
#coming-next{transition:opacity .6s ease}
#coming-next.intro-soft-hidden{opacity:0}
#intro-recall{position:fixed;top:76px;left:50%;transform:translateX(-50%);z-index:9;pointer-events:auto;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;color:var(--heading-hue);background:none;border:0;padding:.25rem 0;text-decoration:underline;text-decoration-color:var(--journey-colour);text-underline-offset:.22em}
#blueprint-information-link{position:fixed;inset:0;block-size:100%;inline-size:100%;pointer-events:none;z-index:6;opacity:.52;visibility:hidden}
#blueprint-information-link path,#blueprint-information-link circle{vector-effect:non-scaling-stroke}
@media(max-width:600px){#intro-recall{top:90px}}
@media(max-height:600px) and (min-width:601px){#intro-recall{top:64px}}
@media(prefers-reduced-motion:reduce){#coming-next{transition:none}}
#coming-next.intro-reduced{transition:none}

/* Original signature hooks; source colours follow the approved active heading hue. */
.typing-cursor { display: inline-block; background-color: var(--current-primary-accent); margin-left: 3px; width: 9px; height: 1.15em; animation: blink-ai 1s steps(1, end) infinite; vertical-align: text-bottom; opacity: 0.8; transition: background-color var(--style-switch-duration) ease; border-radius: 1px; position: relative; }
.ai-char-effect { display: inline-block; animation: ai-char-flicker 0.15s ease-out; text-shadow: 0 0 4px var(--white); color: var(--white); position: relative; }
@keyframes blink-ai { 0%, 100% { opacity: 0; } 50% { opacity: 0.8; } }
@keyframes ai-char-flicker { 0% { opacity: 0.5; transform: scale(1.1); } 50% { opacity: 1; transform: scale(0.95); } 100% { opacity: 1; transform: scale(1); } }
.typing-cursor,.ai-char-effect{--current-primary-accent:var(--heading-hue);--white:var(--heading-hue)}
@media(prefers-reduced-motion:reduce){.typing-cursor,.ai-char-effect{animation:none}}
