/* YOUR PROPERTY AI BRAIN · shared chrome for all three prototypes
   Property Filter brand: sand background, brick-red titles, blue accents.
   Inter for everything functional, Georgia italic for the one quote. */

:root{
  --sand:#F8F4EE;
  --cream:#FBF8F3;
  --white:#FFFFFF;
  --ink:#521A11;
  --grey:#6A6A6A;
  --blue:#2155D1;
  --deep:#1A44A7;
  --lblue:#B8CDFF;
  --line:rgba(82,26,17,.14);
  --line-soft:rgba(82,26,17,.08);
  --font:'Inter',Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:var(--sand);color:var(--ink);
  font-family:var(--font);overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
button,input{font-family:var(--font)}

#stage{position:fixed;inset:0}
svg#map{position:absolute;inset:0;width:100%;height:100%;z-index:1}
#camera{transition:transform .68s cubic-bezier(.22,.68,.24,1)}
body.still #camera{transition:none}
body.still .flow{display:none}

/* ------------------------------------------------------------- top bar */
.top{
  position:fixed;top:0;left:0;right:0;z-index:8;display:flex;align-items:center;gap:18px;
  padding:14px 24px;pointer-events:none;
  background:linear-gradient(180deg,var(--sand) 55%,rgba(248,244,238,0));
}
.brandmark{display:flex;flex-direction:column;gap:2px;max-width:40vw;min-width:0}
.brandmark b{color:var(--ink);font-weight:900;letter-spacing:-.01em;font-size:15px;line-height:1}
.brandmark s{text-decoration:none;color:var(--grey);font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vtag{
  font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--grey);border:1.5px solid var(--line);border-radius:3px;
  padding:4px 8px;align-self:center;pointer-events:none;
}
.spacer{flex:1}
.tabs{display:flex;gap:4px;pointer-events:auto}
.tab{
  padding:9px 16px;border:1.5px solid var(--line);border-radius:4px;background:none;
  color:var(--grey);cursor:pointer;font-size:10.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
}
.tab:hover{border-color:var(--ink);color:var(--ink)}
.tab.on{background:var(--ink);border-color:var(--ink);color:var(--sand)}
.ghostbtn{
  pointer-events:auto;padding:9px 14px;border:1.5px solid var(--line);border-radius:4px;
  background:none;color:var(--grey);cursor:pointer;font-size:10.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
}
.ghostbtn:hover{border-color:var(--ink);color:var(--ink)}

/* --------------------------------------------------------------- crumb */
#crumb{
  position:fixed;top:68px;left:20px;z-index:7;max-width:min(400px,40vw);
  background:var(--sand);border-left:5px solid var(--blue);border-radius:0 5px 5px 0;
  padding:16px 20px 18px;box-shadow:14px 0 26px -8px rgba(248,244,238,.96);
  opacity:0;transition:opacity .4s;pointer-events:none;
}
#crumb.on{opacity:1;pointer-events:auto}
@media(max-width:1180px){ body.panelopen #crumb{opacity:0;pointer-events:none} }
#crumb .back{
  background:none;border:1.5px solid var(--line);color:var(--grey);border-radius:4px;
  padding:7px 13px;cursor:pointer;font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;
}
#crumb .back:hover{border-color:var(--ink);color:var(--ink)}
#crumb h2{margin:0 0 8px;font-size:clamp(30px,3.4vw,46px);font-weight:900;letter-spacing:-.035em;line-height:.92}
#crumb .q{margin:0 0 10px;font-size:17px;font-weight:600;line-height:1.28;letter-spacing:-.02em;color:var(--ink)}
#crumb .ml{margin:0;font-size:13px;line-height:1.5;color:var(--grey);max-width:44ch}

/* --------------------------------------------------------------- panel */
#panel{
  position:fixed;top:0;right:0;bottom:0;width:min(430px,94vw);z-index:10;
  background:var(--white);border-left:2px solid var(--ink);overflow-y:auto;
  transform:translateX(102%);transition:transform .5s cubic-bezier(.22,.68,.24,1);
  padding:26px 28px 60px;
}
#panel.on{transform:none}
#panel .close{
  position:absolute;top:16px;right:18px;background:none;border:1.5px solid var(--line);
  color:var(--grey);border-radius:4px;width:30px;height:28px;cursor:pointer;font-size:15px;line-height:1;
}
#panel .close:hover{border-color:var(--ink);color:var(--ink)}
.p-eyebrow{font-size:9.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;display:flex;align-items:center;gap:8px}
.p-eyebrow i{width:11px;height:11px;border-radius:50%;flex:none}
#panel h3{margin:0 0 16px;font-size:27px;font-weight:900;line-height:1.05;letter-spacing:-.035em;padding-right:34px}
.cmdbox{border:2px solid var(--ink);border-radius:5px;padding:13px 15px;margin:0 0 20px;background:var(--cream)}
.cmdbox .cl{font-size:8.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);margin:0 0 7px}
.cmdrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.cmdrow + .cmdrow{margin-top:8px}
.cmd{
  font-size:15px;font-weight:800;letter-spacing:-.01em;color:var(--blue);
  background:rgba(33,85,209,.10);border-radius:3px;padding:4px 10px;
}
.cmd::before{content:"/";opacity:.45;margin-right:1px}
.row{border-top:1px solid var(--line-soft);padding:15px 0}
.row h4{margin:0 0 7px;font-size:8.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}
.row p{margin:0;font-size:14.5px;line-height:1.5}
.row.lands p{font-weight:600}
.row.today p{color:var(--grey)}
.row.means p{color:var(--blue);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:11px;font-weight:600;padding:5px 10px;border-radius:3px;background:var(--cream);border:1px solid var(--line-soft);color:var(--grey)}
.chip.file{color:var(--blue);border-color:rgba(33,85,209,.22);background:rgba(33,85,209,.07)}

/* ------------------------------------------------------------- veils */
.veil{position:fixed;inset:0;z-index:20;display:none;background:rgba(82,26,17,.42);
  backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:32px}
.veil.on{display:flex}
.card{background:var(--sand);border:2px solid var(--ink);border-radius:6px;
  padding:38px 40px;max-height:88vh;overflow-y:auto}
@media(max-width:640px){.card{padding:24px 20px}}

#hero .card{width:min(880px,96vw);padding:30px 36px}
#hero .kick{margin:0 0 12px;font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--blue)}
#hero h1{margin:0 0 12px;font-size:clamp(32px,4.8vw,56px);font-weight:900;letter-spacing:-.045em;line-height:.92}
#hero h1 em{font-style:normal;color:var(--blue)}
#hero .sub{margin:0 0 16px;font-size:clamp(16px,1.8vw,21px);font-weight:700;line-height:1.32;
  letter-spacing:-.02em;max-width:52ch;color:var(--blue)}
#hero .lede{margin:0 0 12px;font-size:clamp(14.5px,1.5vw,17px);line-height:1.5;max-width:62ch;color:var(--grey)}
#hero .lede.shift{color:var(--ink);font-weight:600}
#hero .proof{margin:0 0 18px;font-size:clamp(14.5px,1.4vw,17px);line-height:1.45;max-width:58ch;
  font-weight:700;color:var(--blue);border-left:4px solid var(--blue);padding-left:16px}
#hero .stats{display:flex;gap:34px;flex-wrap:wrap;padding:14px 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);margin-bottom:18px}
#hero .st b{display:block;font-size:clamp(26px,3.2vw,42px);font-weight:900;letter-spacing:-.045em;line-height:1;color:var(--blue)}
#hero .st span{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-top:6px}
#hero .go{display:flex;gap:11px;flex-wrap:wrap}
#hero .go button{border:none;border-radius:4px;cursor:pointer;padding:16px 28px;
  font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
#hero .go .prim{background:var(--blue);color:#fff}
#hero .go .prim:hover{background:var(--deep)}
#hero .go .sec{background:none;color:var(--ink);border:2px solid var(--ink)}
#hero .go .sec:hover{background:var(--ink);color:var(--sand)}

#brainveil .card{width:min(820px,96vw)}
#brainveil .sub{margin:0 0 8px;font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--blue)}
#brainveil h2{margin:0 0 16px;font-size:clamp(26px,4vw,44px);font-weight:900;letter-spacing:-.04em;line-height:.95}
#brainveil .line{margin:0 0 26px;font-size:16px;line-height:1.58;max-width:62ch;color:var(--ink)}
#brainveil .files{border:2px solid var(--ink);border-radius:5px;overflow:hidden;background:var(--white)}
#brainveil .f{display:grid;grid-template-columns:158px 1fr;gap:18px;padding:12px 16px;border-bottom:1px solid var(--line-soft);font-size:13.5px}
#brainveil .f:last-child{border-bottom:none}
#brainveil .f b{font-weight:800;color:var(--blue)}
#brainveil .f span{color:var(--grey);line-height:1.42}
@media(max-width:640px){#brainveil .f{grid-template-columns:1fr;gap:2px}}

#humanveil .card{width:min(720px,96vw)}
#humanveil .cap{margin:0 0 8px;font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--blue)}
#humanveil h2{margin:0 0 18px;font-size:clamp(26px,4vw,44px);font-weight:900;letter-spacing:-.04em;line-height:.98}
#humanveil .body{margin:0 0 18px;font-size:16px;line-height:1.6;max-width:62ch;color:var(--ink)}
#humanveil .tagline{margin:0;font-size:15px;font-weight:700;color:var(--blue);border-left:4px solid var(--blue);padding-left:16px}

/* ------------------------------------------------------ the time machine */
#timeview{position:fixed;inset:0;z-index:5;overflow-y:auto;padding:92px 30px 60px;display:none}
body.view-time #timeview{display:block}
body:not(.view-map) svg#map,body:not(.view-map) #crumb{display:none}
body:not(.view-map) #panel{display:none}
.tw{max-width:1240px;margin:0 auto}
.tw h2{margin:0 0 10px;font-size:clamp(32px,4.6vw,56px);font-weight:900;letter-spacing:-.045em;line-height:.95}
.tw .lede{margin:0 0 40px;font-size:17px;line-height:1.55;color:var(--grey)}
.tm-block{background:var(--white);border:2px solid var(--ink);border-radius:6px;padding:28px 30px 30px;margin-bottom:26px}
.tm-block .kick{margin:0 0 6px;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--blue)}
.tm-block h3{margin:0 0 20px;font-size:clamp(20px,2.4vw,30px);font-weight:900;letter-spacing:-.03em}
.tm-block h3.j2{margin-top:38px}
/* -------- part one: the two journeys -------- */
.jlane{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.jlane.brain{margin-top:14px}
.jwho{flex:0 0 118px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);text-align:right}
.jlane.brain .jwho{color:var(--blue)}
.jtrack{flex:1;display:flex;align-items:stretch;gap:0}
.jlane.brain .jtrack{gap:3px}
.jstep{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  background:var(--white);border:1.5px solid var(--line);border-radius:8px;padding:9px 11px;z-index:1;min-width:80px}
.jstep b{font-size:10.5px;font-weight:800;white-space:nowrap}
.jstep i{width:8px;height:8px;border-radius:50%;background:#9a938a}
.jgap{flex:1 1 0;display:flex;align-items:center;justify-content:center;margin:12px 0;
  background:repeating-linear-gradient(-45deg,rgba(106,106,106,.14) 0 7px,transparent 7px 14px);
  border-top:1.5px dashed rgba(106,106,106,.4);border-bottom:1.5px dashed rgba(106,106,106,.4)}
.jgap span{font-size:10px;color:var(--grey);font-style:italic;text-align:center;padding:5px 9px;background:var(--cream);border-radius:4px;line-height:1.35;max-width:150px}
.jstep2{flex:0 0 auto;background:var(--white);border:1.5px solid rgba(33,85,209,.4);border-radius:7px;
  padding:8px 8px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:flex-start;text-align:center}
.jstep2 b{font-size:10.5px;font-weight:800;line-height:1.25}
.jstep2 span{font-size:8px;color:var(--blue);font-weight:700;line-height:1.3}
.jregain{flex:1;display:flex;align-items:center;justify-content:center;
  border:1.5px dashed rgba(33,85,209,.35);border-radius:8px;margin:2px 0;
  background:repeating-linear-gradient(-45deg,rgba(33,85,209,.05) 0 8px,transparent 8px 16px)}
.jregain span{font-size:11px;color:var(--blue);font-style:italic;font-weight:700}

/* -------- part two: the week, sorted -------- */
.sort{display:grid;grid-template-columns:1fr 40px 1.15fr 40px 1fr;align-items:stretch;gap:0;margin-top:6px}
.shead{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}
.shead.grey{color:var(--grey)} .shead.deep{color:var(--deep)} .shead.ink{color:var(--ink)}
.spile{position:relative;min-height:400px}
.spchip{position:absolute;background:var(--white);border:1.5px solid var(--line);border-radius:7px;
  padding:6px 10px;font-size:10.5px;color:#5c574f;box-shadow:0 3px 9px rgba(82,26,17,.10);white-space:nowrap}
.sarrow{display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:24px;font-weight:900}
.scov{background:#EAF0FE;border:1.5px solid rgba(33,85,209,.3);border-radius:12px;padding:16px 18px}
.scov ul{list-style:none;margin:0 0 6px;padding:0;display:flex;gap:6px}
.scov ul:last-of-type{margin-bottom:0}
.scov li{background:var(--white);border:1px solid rgba(33,85,209,.25);border-radius:6px;
  padding:5px 10px;font-size:10.5px;color:var(--deep);font-weight:600;white-space:nowrap;
  flex:1 1 0;text-align:center}
.scov li::before{content:"✓ ";color:var(--blue);font-weight:900}
.syours{background:var(--white);border:1.5px solid var(--line);border-radius:12px;padding:16px 18px}
.syrow{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-bottom:1px solid var(--line-soft)}
.syrow b{font-size:13px;font-weight:800}
.syrow span{font-size:10px;color:var(--grey)}
.syrow span em{color:var(--blue);font-style:normal;font-weight:700}
.smetric{margin-top:14px;border-radius:8px;padding:9px 13px;font-size:12.5px;font-weight:800;text-align:center}
.smetric.dark{background:var(--deep);color:#fff}
.smetric.blue{background:#EAF0FE;border:1.5px solid rgba(33,85,209,.4);color:var(--deep)}

/* (legacy bar styles, kept for the old shots only) */
.tm-track{position:relative;height:44px;background:rgba(82,26,17,.06);border-radius:4px}
.tm-fill{position:absolute;top:0;left:0;bottom:0;border-radius:4px;display:flex;align-items:center;
  justify-content:flex-end;padding-right:14px;width:0;
  transition:width 1.6s cubic-bezier(.22,.68,.24,1)}
.tm-fill.slow{background:#B9AFA6}
.tm-fill.fast{background:var(--blue)}
.tm-fill b{font-size:15px;font-weight:900;color:#fff;letter-spacing:-.01em;white-space:nowrap}
.tm-ticks{position:absolute;inset:0;display:flex;pointer-events:none}
.tm-ticks i{flex:1;border-left:1px solid rgba(82,26,17,.10)}
.tm-ticks i:first-child{border-left:none}
.tm-fact{display:inline-block;margin-top:6px;font-size:13px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--blue);background:rgba(33,85,209,.10);border-radius:3px;padding:6px 12px}
.tm-line{margin:16px 0 0;font-size:14.5px;line-height:1.55;color:var(--grey)}
/* the week bar */
.wk{position:relative;height:44px;border-radius:4px;overflow:hidden;display:flex;background:rgba(82,26,17,.06)}
.wk i{display:flex;align-items:center;justify-content:center;height:100%;
  font-style:normal;font-size:11px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;
  transition:flex-basis 1.4s cubic-bezier(.22,.68,.24,1)}
.wk i.gone{background:#B9AFA6}
.wk i.gone + i.gone{border-left:1.5px solid var(--sand)}
.wk i.human{background:var(--blue)}
.wk i.freed{background:none;color:var(--grey);border:1.5px dashed rgba(82,26,17,.25);border-radius:0 4px 4px 0;font-weight:600}
.wk-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}
.wk-legend span{font-size:11px;color:var(--grey);display:flex;align-items:center;gap:6px}
.wk-legend b{width:12px;height:12px;border-radius:3px;display:inline-block}
.tm-close{margin:0 0 26px;padding:30px 32px;background:#E9EEFC;border:1px solid rgba(33,85,209,.25);border-radius:6px}
.tm-close p{margin:0;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:600;
  font-size:clamp(20px,2.6vw,30px);line-height:1.25;letter-spacing:-.01em;color:var(--deep)}

/* landing CTA (hidden unless ?landing=1) */
#cta-band{display:none;position:fixed;left:0;right:0;bottom:0;z-index:9;background:var(--white);
  border-top:2px solid var(--ink);padding:14px 24px;align-items:center;gap:20px}
body.landing #cta-band{display:flex}
#cta-band .note{font-size:13px;color:var(--grey);flex:1}
#cta-band a{
  background:var(--blue);color:#fff;border-radius:100px;text-decoration:none;
  padding:14px 34px;font-size:13px;font-weight:600;letter-spacing:.04em;
  box-shadow:0 4px 16px rgba(33,85,209,.25);white-space:nowrap}
#cta-band a:hover{background:var(--white);color:var(--ink);outline:2px solid var(--ink)}


/* ================================================= mobile (below 768px)
   The desktop scene is not mounted under 768px; mobile.js renders the
   vertical narrative into #mobileview. These styles own that world. */
#mobileview{display:none}
@media (max-width:767px){
  body{overflow:auto;height:auto}
  body.mobile #stage,body.mobile .tabs,body.mobile #crumb,body.mobile .veil,
  body.mobile #timeview,body.mobile .ghostbtn,body.mobile .vtag{display:none !important}
  body.mobile .top{display:none}

  #mobileview{display:block;padding:6px 18px 90px;max-width:560px;margin:0 auto}
  #mobileview h1{font-size:30px;font-weight:900;letter-spacing:-.03em;line-height:1.04;margin:10px 0 14px}
  #mobileview h1 em{font-style:normal;color:var(--blue)}
  #mobileview h2{font-size:21px;font-weight:900;letter-spacing:-.02em;margin:2px 0 12px}
  #mobileview h3{font-size:17px;font-weight:900;letter-spacing:-.01em;margin:0 0 14px}
  .m-kick,.m-cap{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin:18px 0 6px}
  .m-sub{font-size:15px;font-weight:700;margin:0 0 12px}
  .m-lede{font-size:13.5px;line-height:1.55;color:var(--grey);margin:0 0 10px}
  .m-shift{color:var(--ink)}
  .m-proof{font-size:13px;font-style:italic;color:var(--grey);margin:0 0 16px}
  .m-stats{display:flex;gap:8px;margin:0 0 8px}
  .m-stats div{flex:1;background:var(--white);border:1.5px solid var(--line);border-radius:8px;padding:10px 8px;text-align:center}
  .m-stats b{display:block;font-size:16px;font-weight:900}
  .m-stats span{font-size:9px;color:var(--grey);font-weight:600;line-height:1.25;display:block;margin-top:2px}

  .m-card{background:var(--white);border:1.5px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}
  .m-body{font-size:13px;line-height:1.55;color:var(--grey);margin:0 0 12px}
  .m-files{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .m-file{background:var(--sand);border-radius:6px;padding:8px 10px}
  .m-file b{display:block;font-size:11px;color:var(--blue);font-weight:800}
  .m-file span{font-size:10px;color:var(--grey);line-height:1.35;display:block;margin-top:2px}

  .m-branch{background:var(--white);border:1.5px solid var(--line);border-radius:12px;margin:0 0 10px;overflow:hidden}
  .m-bhead{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;
    padding:14px 14px;text-align:left;cursor:pointer;min-height:52px;font-family:var(--font)}
  .m-bhead i{width:12px;height:12px;border-radius:50%;flex:0 0 auto}
  .m-bhead .tx{flex:1;display:flex;flex-direction:column;gap:2px}
  .m-bhead b{font-size:14px;font-weight:900;letter-spacing:.01em}
  .m-bhead .tx > span{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
  .m-bhead em{width:22px;height:22px;position:relative;flex:0 0 auto}
  .m-bhead em::before,.m-bhead em::after{content:"";position:absolute;background:var(--grey);top:50%;left:50%}
  .m-bhead em::before{width:12px;height:2px;transform:translate(-50%,-50%)}
  .m-bhead em::after{width:2px;height:12px;transform:translate(-50%,-50%);transition:transform .2s}
  .m-branch.open .m-bhead em::after{transform:translate(-50%,-50%) scaleY(0)}
  .m-jobs{display:none;padding:0 14px 12px}
  .m-branch.open .m-jobs{display:block}
  .m-q{font-size:12px;font-style:italic;color:var(--grey);margin:0 0 10px}
  .m-job{display:flex;align-items:center;gap:10px;width:100%;background:var(--sand);border:1px solid var(--line-soft);
    border-radius:8px;padding:11px 12px;margin:0 0 7px;cursor:pointer;text-align:left;min-height:44px;font-family:var(--font)}
  .m-job .cmd{font-size:12.5px;font-weight:800;color:var(--blue);white-space:nowrap}
  .m-job .nm{font-size:11px;color:var(--grey);flex:1;text-align:right}

  .m-scenegroup{background:rgba(33,85,209,.045);border:1.5px solid rgba(33,85,209,.2);border-radius:12px;padding:12px 14px;margin:0 0 12px}
  .m-gcap{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:2px 0 10px;text-align:center}
  .m-gcap.grey{color:var(--grey)} .m-gcap.deep{color:var(--deep)} .m-gcap.ink{color:var(--ink)}
  .m-scene{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(33,85,209,.12)}
  .m-scene:last-child{border-bottom:none}
  .m-scene svg{width:96px;height:70px;flex:0 0 auto}
  .m-scene b{display:block;font-size:12.5px;font-weight:900;letter-spacing:.06em}
  .m-scene span{font-size:11px;color:var(--grey);line-height:1.4;display:block;margin-top:2px}
  .m-tag{font-size:12px;color:var(--grey);text-align:center;font-style:italic;margin:4px 0 0}

  .m-tblock{background:var(--white);border:2px solid var(--ink);border-radius:8px;padding:16px 14px;margin:0 0 14px}
  .m-kick{margin-top:0}
  .m-journeys{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
  .m-who{font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin:0 0 8px;text-align:center}
  .m-jcol.brain .m-who{color:var(--blue)}
  .m-step{background:var(--white);border:1.5px solid var(--line);border-radius:8px;padding:9px 10px;text-align:center}
  .m-step b{font-size:11px;font-weight:800}
  .m-gap{margin:6px 4px;padding:8px 8px;text-align:center;
    background:repeating-linear-gradient(-45deg,rgba(106,106,106,.14) 0 7px,transparent 7px 14px);
    border-top:1.5px dashed rgba(106,106,106,.4);border-bottom:1.5px dashed rgba(106,106,106,.4)}
  .m-gap span{font-size:9.5px;color:var(--grey);font-style:italic;line-height:1.35;background:var(--cream);border-radius:4px;padding:2px 5px;display:inline-block}
  .m-step2{background:var(--white);border:1.5px solid rgba(33,85,209,.4);border-radius:8px;padding:8px 9px;text-align:center;margin:0 0 6px}
  .m-step2 b{font-size:11px;font-weight:800;display:block}
  .m-step2 span{font-size:9px;color:var(--blue);font-weight:700;display:block;margin-top:2px;line-height:1.3}
  .m-regain{border:1.5px dashed rgba(33,85,209,.35);border-radius:8px;padding:22px 8px;text-align:center;
    background:repeating-linear-gradient(-45deg,rgba(33,85,209,.05) 0 8px,transparent 8px 16px)}
  .m-regain span{font-size:11px;color:var(--blue);font-style:italic;font-weight:700}
  .m-line{font-size:12.5px;line-height:1.5;color:var(--grey);margin:12px 0 0}

  .m-pile{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
  .m-pile span{background:var(--white);border:1.5px solid var(--line);border-radius:6px;padding:5px 8px;font-size:10px;color:#5c574f;box-shadow:0 2px 6px rgba(82,26,17,.08)}
  .m-pile span:nth-child(3n){transform:rotate(-2.5deg)}
  .m-pile span:nth-child(3n+1){transform:rotate(2deg)}
  .m-down{text-align:center;color:var(--blue);font-size:20px;font-weight:900;margin:10px 0}
  .m-cov{background:#EAF0FE;border:1.5px solid rgba(33,85,209,.3);border-radius:12px;padding:12px}
  .m-cov ul{list-style:none;margin:0 0 5px;padding:0;display:flex;gap:5px}
  .m-cov ul:last-of-type{margin-bottom:0}
  .m-cov li{background:var(--white);border:1px solid rgba(33,85,209,.25);border-radius:6px;padding:4px 8px;font-size:9.5px;color:var(--deep);font-weight:600;flex:1 1 0;text-align:center;white-space:nowrap}
  .m-cov li::before{content:"\2713 ";color:var(--blue);font-weight:900}
  .m-yours{background:var(--white);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px}
  .m-yrow{padding:8px 0;border-bottom:1px solid var(--line-soft)}
  .m-yrow:last-of-type{border-bottom:none}
  .m-yrow b{font-size:13px;font-weight:800;display:block}
  .m-yrow span{font-size:10px;color:var(--grey)}
  .m-yrow em{color:var(--blue);font-style:normal;font-weight:700}
  .m-metric{margin-top:10px;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:800;text-align:center}
  .m-metric.dark{background:var(--deep);color:#fff}
  .m-metric.blue{background:#EAF0FE;border:1.5px solid rgba(33,85,209,.4);color:var(--deep)}
  .m-close{background:#E9EEFC;border:1px solid rgba(33,85,209,.25);border-radius:8px;padding:18px 20px;margin:0 0 16px}
  .m-close p{margin:0;font-family:Georgia,serif;font-style:italic;font-weight:600;font-size:15px;line-height:1.4;color:var(--deep)}

  /* the job panel becomes a bottom sheet */
  body.mobile #panel{
    top:auto;left:0;right:0;bottom:0;width:auto;height:88vh;
    border-left:none;border-top:2px solid var(--ink);border-radius:16px 16px 0 0;
    transform:translateY(103%);
  }
  body.mobile #panel.on{transform:none}
  body.mobile #panel .close{width:40px;height:36px;font-size:18px}
  body.mobile #cta-band{flex-wrap:wrap;gap:8px;padding:10px 14px}
}

/* mobile motion: work rising into the brain, tasks dropping into cover.
   Only when the visitor has no reduced-motion preference. */
@media (max-width:767px){
  .m-branches{position:relative;padding-left:16px}
  .m-rail{position:absolute;left:2px;top:86px;bottom:10px;width:2px;
    background:repeating-linear-gradient(180deg,rgba(33,85,209,.30) 0 4px,transparent 4px 10px)}
  .m-rail i{display:none;position:absolute;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--blue)}
  .m-down{display:flex;align-items:center;justify-content:center;gap:6px;height:26px;margin:10px 0}
  .m-down i{width:7px;height:7px;border-radius:50%;background:var(--blue);opacity:.25}
}
@media (max-width:767px) and (prefers-reduced-motion: no-preference){
  .m-rail i{display:block;animation:mrise 6s linear infinite}
  .m-rail i:nth-child(2){animation-delay:2s}
  .m-rail i:nth-child(3){animation-delay:4s}
  @keyframes mrise{0%{top:96%;opacity:0}6%{opacity:1}94%{opacity:1}100%{top:0;opacity:0}}
  .m-down i{animation:mpulse 1.6s linear infinite}
  .m-down i:nth-child(2){animation-delay:.35s}
  .m-down i:nth-child(3){animation-delay:.7s}
  @keyframes mpulse{0%{transform:translateY(-7px);opacity:0}35%{opacity:1}100%{transform:translateY(8px);opacity:0}}
}

/* ------------------------------------------ the welcome card, redesigned */
#hero .card.hero2{width:min(1060px,96vw);display:flex;gap:40px;padding:36px 42px}
#hero .hero2 .h-left{flex:1.25;min-width:0}
#hero .hero2 .h-right{flex:.75;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}
#hero .hero2 #h-mini{width:100%;max-height:300px}
#hero .hero2 h1{margin:0 0 14px;font-size:clamp(20px,2.05vw,34px);font-weight:900;letter-spacing:-.04em;line-height:1.08}
#hero .hero2 h1 .hl{white-space:nowrap}
#hero .hero2 .sub{margin:0 0 18px}
#hero .hero2 .lede-intro{margin:0 0 10px;font-size:15px;font-weight:700;color:var(--ink)}
#hero .hero2 .pains{display:flex;flex-direction:column;gap:10px;margin:0 0 16px}
#hero .hero2 .pain{flex:1;display:flex;gap:12px;align-items:center;background:var(--white);
  border:1.5px solid var(--line);border-radius:10px;padding:12px 14px}
#hero .hero2 .pain b{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--sand);
  font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
#hero .hero2 .pain span{font-size:12.5px;line-height:1.5;color:var(--grey)}
#hero .hero2 .lede.shift{margin:0 0 14px;font-size:15px;line-height:1.5}
#hero .hero2 .proof{margin:0 0 20px}
#hero .hero2 .stats{display:flex;flex-direction:column;gap:0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:0;margin:8px 0 0}
#hero .hero2 .st{display:flex;align-items:baseline;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line-soft)}
#hero .hero2 .st:last-child{border-bottom:none}
#hero .hero2 .st b{font-size:26px;font-weight:900;letter-spacing:-.03em;color:var(--blue);line-height:1;min-width:118px}
#hero .hero2 .st span{font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin:0}
#hero .hero2 .go .prim{font-size:12.5px;padding:16px 30px}
@media (max-width:1000px){
  #hero .card.hero2{flex-direction:column;gap:18px}
  #hero .hero2 .h-right{flex-direction:column-reverse}
  #hero .hero2 #h-mini{max-height:170px}
  #hero .hero2 .pains{flex-direction:column}
}

/* ============================================== one-page mode (Map D)
   No popups, no view switching: hero, the Brain, the Time Machine and
   the Description are sections of one scrolling page. */
body.onepage{overflow:auto;height:auto}
body.onepage .top{position:sticky;top:0;background:var(--sand);pointer-events:auto;z-index:30;
  border-bottom:1px solid var(--line-soft)}
.opnav{display:flex;gap:8px;pointer-events:auto}
.opnav a{padding:9px 16px;border:1.5px solid var(--line);border-radius:4px;color:var(--grey);
  font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.opnav a:hover{border-color:var(--ink);color:var(--ink)}
.opsec{scroll-margin-top:64px}
body.onepage #hero{display:flex;justify-content:center;padding:44px 24px 10px}
body.onepage #hero .card.hero2{max-height:none}
body.onepage #s-map{position:relative;height:92vh;min-height:620px}
body.onepage #s-map #stage{position:absolute;inset:0}
body.onepage #crumb{position:absolute;top:16px;left:20px}
body.onepage #timeview{position:static;display:block;padding:56px 30px 20px;overflow:visible}
body.onepage #cta-band{position:sticky}

/* ------------------------------------------------ the Description section */
#descview{max-width:1240px;margin:0 auto;padding:26px 30px 120px}
#descview .kick{font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin:0 0 6px}
#descview h2{margin:0 0 10px;font-size:clamp(28px,3.4vw,44px);font-weight:900;letter-spacing:-.04em;line-height:.98}
.dv-lede{margin:0 0 30px;font-size:15px;line-height:1.6;color:var(--grey)}
.dv-brain{background:var(--white);border:2px solid var(--ink);border-radius:10px;padding:24px 28px;margin:0 0 34px;scroll-margin:110px}
.dv-cap{font-size:9.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin:0 0 6px}
.dv-brain h3{margin:0 0 10px;font-size:22px;font-weight:900;letter-spacing:-.02em}
.dv-line{margin:0 0 16px;font-size:13.5px;line-height:1.55;color:var(--grey)}
.dv-files{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dv-files .f{background:var(--sand);border-radius:6px;padding:10px 12px}
.dv-files .f b{display:block;font-size:12px;color:var(--blue);font-weight:800}
.dv-files .f span{font-size:11px;color:var(--grey);line-height:1.4;display:block;margin-top:2px}
.dv-branch{margin:0 0 36px}
.dv-bhead{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px}
.dv-bhead i{width:14px;height:14px;border-radius:50%;flex:0 0 auto;margin-top:7px}
.dv-bhead h3{margin:0;font-size:21px;font-weight:900;letter-spacing:.01em}
.dv-q{margin:2px 0 0;font-size:13px;font-style:italic;color:var(--grey)}
.dv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.dv-job{background:var(--white);border:1.5px solid var(--line);border-radius:10px;padding:16px 18px;scroll-margin:110px}
.dv-cmds{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.dv-job h4{margin:0 0 8px;font-size:15px;font-weight:900;letter-spacing:-.01em}
.dv-lands{margin:0 0 8px;font-size:12.5px;line-height:1.5;font-weight:600}
.dv-today{margin:0 0 8px;font-size:12px;line-height:1.5;color:var(--grey)}
.dv-means{margin:0 0 10px;font-size:12.5px;line-height:1.5;color:var(--blue);font-weight:600}
.dv-job .chips{margin:0 0 6px}
@keyframes dvflash{0%{box-shadow:0 0 0 4px rgba(33,85,209,.55)}100%{box-shadow:0 0 0 0 rgba(33,85,209,0)}}
.dv-job.flash{animation:dvflash 1.8s ease-out}
@media (max-width:767px){
  body.mobile #hero,body.mobile #s-map,body.mobile #s-time,body.mobile #s-desc{display:none !important}
  body.mobile .opnav{display:none}
}

/* mobile: promote line + inline job detail (no popups) */
@media (max-width:767px){
  .m-promo{font-size:13px;font-style:italic;color:var(--grey);text-align:center;line-height:1.5;margin:0 0 16px}
  .m-jdetail{background:var(--white);border:1.5px solid rgba(33,85,209,.3);border-radius:8px;
    padding:12px 14px;margin:-3px 0 9px}
  .m-jdetail p{margin:0 0 8px;font-size:12px;line-height:1.5}
  .m-jdetail p:last-child{margin-bottom:0}
  .m-jdetail .l{font-weight:600}
  .m-jdetail .t{color:var(--grey)}
  .m-jdetail .mm{color:var(--blue);font-weight:600}
}

/* the branch panel and the back link inside the command panel */
.b-back{background:none;border:1.5px solid var(--line);color:var(--grey);border-radius:4px;
  padding:7px 13px;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;margin:0 0 14px;font-family:var(--font)}
.b-back:hover{border-color:var(--ink);color:var(--ink)}
.b-q{margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.35;letter-spacing:-.01em}
.b-sub{margin:0 0 18px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.b-jobs{display:flex;flex-direction:column;gap:8px}
.b-job{display:flex;align-items:center;gap:12px;background:var(--cream);border:1.5px solid var(--line);
  border-radius:8px;padding:12px 14px;cursor:pointer;text-align:left;font-family:var(--font)}
.b-job:hover{border-color:var(--blue)}
.b-job .nm{font-size:12px;color:var(--grey);flex:1;text-align:right}
.b-hint{margin:14px 0 0;font-size:11px;font-style:italic;color:var(--grey)}

body.onepage #panel{z-index:40}

/* the command panel: covered points as ticks, context files explained */
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding:5px 0 5px 24px;font-size:13.5px;line-height:1.4;color:var(--ink)}
.ticks li::first-letter{text-transform:uppercase}
.ticks li::before{content:"\2713";position:absolute;left:2px;top:5px;color:var(--blue);font-weight:900}
.ctx-note{margin:10px 0 0;font-size:11.5px;line-height:1.5;color:var(--grey);font-style:italic}

/* the output and context rows of the command panel */
.row.out p{font-weight:700;color:var(--ink)}
.row .ctx{color:var(--grey);font-size:13px}

/* the LEFT panel: the brain story and the six scenes */
#panelL{position:fixed;top:0;left:0;bottom:0;width:min(430px,94vw);z-index:40;
  background:var(--white);border-right:2px solid var(--ink);overflow-y:auto;
  transform:translateX(-102%);transition:transform .5s cubic-bezier(.22,.68,.24,1);
  padding:26px 28px 60px}
#panelL.on{transform:none}
#panelL .close{position:absolute;top:16px;right:18px;background:none;border:1.5px solid var(--line);
  color:var(--grey);border-radius:4px;width:30px;height:28px;cursor:pointer;font-size:15px;line-height:1}
#panelL .close:hover{border-color:var(--ink);color:var(--ink)}
#panelL h3{margin:0 0 8px;font-size:27px;font-weight:900;line-height:1.05;letter-spacing:-.035em;padding-right:34px}
.sc-lead{margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.sc-p{margin:0 0 14px;font-size:14.5px;line-height:1.55;color:var(--ink)}
.sc-p:nth-of-type(2){color:var(--grey)}
.sc-tag{margin:20px 0 0;padding:14px 16px;background:rgba(33,85,209,.07);border-left:4px solid var(--blue);
  border-radius:0 6px 6px 0;font-size:14px;font-weight:700;color:var(--deep);line-height:1.45}
#panelL .dv-files.bp{grid-template-columns:1fr 1fr;gap:8px}
