/* Institute v0.5.23 — Phase 7.3 Education neighbor-source/handoff integration; visual tokens inherited from v0.5.22. */
/* v0.5.19 rail-and-wayfinding release; v0.2 color registry remains controlling. */
/* The Long Return Institute — institute.css v0.5.14 "Identity-first Governed Light / Rail"
   Desktop: wide margin rail, station ticks, asymmetric editorial grid.
   Phone:   rail hugs content, route diagrams rotate vertical, glyph menu.
   Gold is reserved for one meaning only: live, active, or you-are-here. */

:root{
  --ink:#0F1519; --navy:#17324D; --gold:#17324D; --gold-text:#606569; --moss:#3C6048; --rust:#8C4A2F;
  --rail:#D6DDE2; --paper:#FAFAF8; --mute:#6A757C; --hair:#E4E8EB; --line:#E4E8EB; --blue:#EEF3F6; --wash:#F2F4F1;
  --display:"Instrument Serif",Georgia,serif;
  --body:"Newsreader",Georgia,serif;
  --sign:"Archivo","Helvetica Neue",Arial,sans-serif;
  --gutter:1.25rem; --max:1400px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100dvh}
a{color:inherit}
a,button{touch-action:manipulation}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
[id]{scroll-margin-top:5rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.6rem .8rem;border:2px solid var(--navy)}
.sign{font-family:var(--sign);font-weight:600;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}

/* ---------------- header ---------------- */
.top{position:sticky;top:0;z-index:50;background:rgba(250,250,248,.94);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.top-in{display:flex;align-items:center;gap:.85rem;max-width:var(--max);margin:0 auto;
  padding:.7rem max(var(--gutter),env(safe-area-inset-right)) .7rem max(var(--gutter),env(safe-area-inset-left))}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--ink);min-width:0;min-height:44px}
.mark{display:flex;align-items:flex-end;gap:2.5px;height:20px;flex:none}
.mark i{display:block;width:5px;background:var(--navy)}
.mark i:nth-child(1){height:11px;background:var(--moss)}
.mark i:nth-child(2){height:20px;background:var(--gold)}
.mark i:nth-child(3){height:15px}
.wordmark{font-family:var(--display);font-size:1.02rem;line-height:1.05;letter-spacing:.01em;margin-left:.55rem}
.menu-btn{margin-left:auto;display:none;align-items:center;gap:.5rem;min-height:44px;
  padding:.5rem .85rem;border:1px solid var(--rail);border-radius:2px;background:#fff;
  font-family:var(--sign);font-size:.64rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--navy);cursor:pointer}
.menu-btn b{display:grid;gap:3px}
.menu-btn b i{display:block;width:14px;height:1.5px;background:var(--navy);transition:transform .18s,opacity .18s}
.menu-btn[aria-expanded="true"] b i:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] b i:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] b i:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}
.desk-nav{display:none}

/* ---------------- glyph drawer (phone) ---------------- */
.drawer{display:block;border-bottom:1px solid var(--hair);background:#fff;
  max-height:calc(100dvh - 60px);overflow:auto}
.js .menu-btn{display:inline-flex}
.js .drawer{display:none}
.js body.nav-open .drawer{display:block}
.drawer a{display:flex;align-items:center;gap:.9rem;min-height:54px;text-decoration:none;
  border-top:1px solid var(--hair);
  padding:.8rem max(var(--gutter),env(safe-area-inset-right)) .8rem max(var(--gutter),env(safe-area-inset-left))}
.drawer a:first-child{border-top:0}
.drawer a[aria-current="page"]{background:var(--wash);box-shadow:inset 4px 0 0 var(--gold)}
.drawer .gl{flex:none}
.drawer .lb{font-family:var(--sign);font-size:.84rem;font-weight:600}
.drawer .st{margin-left:auto;font-family:var(--sign);font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mute);text-align:right}

/* ---------------- rail + stations ---------------- */
main{flex:1 0 auto;width:100%}
.page{max-width:var(--max);margin:0 auto;
  padding:0 max(var(--gutter),env(safe-area-inset-right)) 0 max(var(--gutter),env(safe-area-inset-left))}
.station{position:relative;border-left:1px solid var(--rail);padding:2.3rem 0 2.3rem 1.15rem}
.station::before{content:"";position:absolute;left:-4px;top:2.55rem;width:7px;height:7px;border-radius:50%;
  background:var(--paper);border:1.5px solid var(--rail);
  transition:background .35s,border-color .35s,box-shadow .35s}
.station.here::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px rgba(138,93,18,.14)}
.station:last-of-type{border-left-color:transparent}
.stop-no{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.85rem}
.stop-no em{font-style:normal;font-family:var(--sign);font-size:.63rem;font-weight:700;letter-spacing:.16em;color:var(--gold-text)}
.stop-no span{font-family:var(--sign);font-size:.63rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}

/* ---------------- type ---------------- */
h1{font-family:var(--display);font-weight:400;font-size:clamp(2.4rem,8.6vw,3.3rem);
  line-height:1.03;letter-spacing:-.015em;margin:.1rem 0 1rem}
h2{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,6.2vw,2.25rem);
  line-height:1.09;letter-spacing:-.01em;margin:0 0 .7rem}
h3{font-family:var(--sign);font-weight:600;font-size:.95rem;margin:0 0 .35rem}
h1,h2{overflow-wrap:break-word;text-wrap:balance}
.lede{font-size:1.09rem;line-height:1.52;color:#2C363C;margin:0 0 1.25rem;max-width:34em}
p{margin:0 0 .9rem;max-width:36em}
.small{font-size:.88rem;color:var(--mute)}
ul,ol{max-width:36em}

/* ---------------- route diagram ---------------- */
.route{list-style:none;margin:1.7rem 0 .7rem;padding:0}
.route li{position:relative;padding:0 0 1.3rem 1.6rem;border-left:2px solid var(--navy)}
.route li:last-child{border-left-color:transparent;padding-bottom:0}
.route li::before{content:"";position:absolute;left:-6px;top:.34rem;width:10px;height:10px;border-radius:50%;background:var(--navy)}
.route li.gap{border-left:2px dashed var(--gold)}
.route li.gap::before{background:var(--paper);border:2px solid var(--gold)}
.route .rl{font-family:var(--sign);font-size:.88rem;font-weight:500;line-height:1.35;display:block}
.route .rs{font-family:var(--sign);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--mute);display:block;margin-top:.2rem}
.route li.gap .rl{color:var(--gold-text);font-weight:700}
.route-cap{font-family:var(--sign);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);border-top:1px solid var(--hair);padding-top:.7rem;margin-top:.4rem;max-width:none}

/* ---------------- status board ---------------- */
.board{border-top:1px solid var(--ink);margin-top:1.2rem}
.line-row{display:grid;grid-template-columns:auto 1fr;gap:.6rem .8rem;align-items:start;
  padding:.95rem 0;border-bottom:1px solid var(--hair)}
.bead{width:9px;height:9px;border-radius:50%;margin-top:.42rem;flex:none}
.bead.on{background:var(--moss);box-shadow:0 0 0 3px rgba(60,96,72,.15)}
.bead.rev{background:var(--gold)}
.bead.off{background:transparent;border:1.5px solid var(--rail)}
.line-name{font-family:var(--sign);font-weight:600;font-size:.94rem;line-height:1.25;display:block}
.line-state{font-family:var(--sign);font-size:.68rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--mute);margin-top:.25rem;display:block}
.line-what{grid-column:2;font-size:.88rem;color:#3A454B;margin:0;max-width:44em}

/* ---------------- route rows / document rows ---------------- */
.ways{border-top:1px solid var(--hair)}
.way{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center;
  padding:1.05rem 0;border-bottom:1px solid var(--hair);text-decoration:none}
.way .gl{flex:none}
.way strong{font-family:var(--display);font-weight:400;font-size:1.3rem;display:block;line-height:1.15}
.way span{font-size:.88rem;color:var(--mute);display:block;margin-top:.15rem}
.way:hover strong{color:var(--navy)}

.doc{padding:1.25rem 0;border-bottom:1px solid var(--hair)}
.doc:first-child{border-top:1px solid var(--ink)}
.doc-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.doc h3{font-family:var(--display);font-weight:400;font-size:1.42rem;line-height:1.15;margin:0}
.doc-meta{font-family:var(--sign);font-size:.68rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold-text)}
.doc-for{font-family:var(--sign);font-size:.74rem;color:var(--mute);margin:.45rem 0 .35rem;display:block}
.doc p{font-size:.92rem;margin:.3rem 0 .75rem}
.doc-links{display:flex;flex-wrap:wrap;gap:1.1rem;font-family:var(--sign);font-size:.7rem;font-weight:700;letter-spacing:.06em}
.doc-links a{min-height:44px;display:inline-flex;align-items:center}

/* ---------------- cards ---------------- */
.cards{display:grid;gap:1rem;margin-top:1.1rem}
.card{border:1px solid var(--hair);border-top:3px solid var(--rail);background:#fff;padding:1.15rem}
.card.gold{border-top-color:var(--gold)}
.card.moss{border-top-color:var(--moss)}
.card.rust{border-top-color:var(--rust)}
.card.navy{border-top-color:var(--navy)}
.card h3{color:var(--navy);font-size:1rem}
.card p{font-size:.9rem;margin-bottom:0}
.card ul{margin:.5rem 0 0;padding-left:1.1rem;font-size:.9rem}
.panel{border:1px solid var(--hair);border-top:3px solid var(--gold);background:#fff;padding:1.15rem;margin-top:1.5rem}
.panel h3{color:var(--navy)}
.panel p{font-size:.9rem;margin-bottom:0}
.note{border-left:3px solid var(--gold);background:var(--wash);padding:1rem 1.1rem;margin:1.2rem 0;font-size:.93rem}
.note p{margin:0;max-width:none}
.note strong{color:var(--navy)}

/* ---------------- buttons ---------------- */
.acts{display:flex;flex-direction:column;gap:.55rem;margin-top:1.35rem}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:50px;
  padding:.8rem 1.1rem;background:var(--navy);color:#fff;text-decoration:none;border:1px solid var(--navy);
  border-radius:2px;font-family:var(--sign);font-size:.78rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s}
.btn.ghost{background:transparent;color:var(--navy);border-color:var(--rail)}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.ghost:hover{background:#fff;color:var(--ink);border-color:var(--ink)}

/* ---------------- forms ---------------- */
.form{max-width:44rem}
.field{margin:0 0 1.05rem}
.field label{display:block;font-family:var(--sign);font-size:.78rem;font-weight:700;color:var(--navy);margin-bottom:.4rem}
.field .opt{font-weight:500;color:var(--mute)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);
  background:#fff;border:1px solid var(--rail);border-radius:2px;padding:.72rem .85rem;min-height:48px}
.field textarea{min-height:9rem;resize:vertical;line-height:1.55}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);outline:2px solid var(--gold);outline-offset:1px}
.field small{display:block;margin-top:.4rem;font-family:var(--sign);font-size:.74rem;color:var(--mute);line-height:1.45}
.hp{position:absolute;left:-9999px}

/* ---------------- footer ---------------- */
.foot{background:var(--ink);color:#C9D2D7;margin-top:1.5rem}
.foot-in{max-width:var(--max);margin:0 auto;
  padding:2.2rem max(var(--gutter),env(safe-area-inset-right)) .6rem max(var(--gutter),env(safe-area-inset-left))}
.foot h2{color:#fff;font-size:1.5rem;margin-bottom:.5rem}
.foot p{font-size:.86rem;max-width:40em;color:#C9D2D7}
.foot a{color:#fff}
.foot p a{display:inline-flex;align-items:center;min-height:42px}
.foot-links{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;margin-top:1.4rem}
.foot-links a{font-family:var(--sign);font-size:.78rem;font-weight:600;text-decoration:none;
  min-height:44px;display:inline-flex;align-items:center}
.foot-links a:hover{color:var(--gold)}
.statusbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:1.3rem;padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.15);font-family:var(--sign);font-size:.63rem;letter-spacing:.09em;text-transform:uppercase}
.statusbar .bead{margin:0}
.statusbar b{color:#fff}
.statusbar a{color:#fff;display:inline-flex;align-items:center;min-height:44px}
.standing{max-width:var(--max);margin:0 auto;font-family:var(--sign);font-size:.68rem;line-height:1.55;color:#93A0A7;
  padding:.4rem max(var(--gutter),env(safe-area-inset-right)) calc(1.6rem + env(safe-area-inset-bottom)) max(var(--gutter),env(safe-area-inset-left))}

/* ================= DESKTOP ================= */
@media (min-width:1000px){
  body{font-size:18px}
  :root{--gutter:3.5rem}
  .js .menu-btn,.drawer,.js .drawer{display:none}
  .desk-nav{display:flex;margin-left:auto;gap:.1rem}
  .desk-nav a{font-family:var(--sign);font-size:.75rem;font-weight:600;letter-spacing:.06em;
    text-transform:uppercase;text-decoration:none;padding:.55rem .58rem;min-height:44px;display:inline-flex;align-items:center}
  .desk-nav a:hover{color:var(--gold-text)}
  .desk-nav a[aria-current="page"]{color:var(--gold-text);box-shadow:inset 0 -2px 0 var(--gold)}
  .top-in{padding-top:1.05rem;padding-bottom:1.05rem}
  .wordmark{font-size:1.18rem}

  .station{padding:4.4rem 0 4.4rem 8.5rem}
  .station::before{left:-4.5px;top:4.85rem;width:9px;height:9px}
  .stop-no{position:absolute;left:1.6rem;top:4.65rem;display:block;margin:0;width:6rem}
  .stop-no em{display:block;font-size:.72rem;margin-bottom:.3rem}
  .stop-no span{display:block;font-size:.6rem;line-height:1.45}

  h1{font-size:clamp(3.6rem,5.9vw,5.9rem);letter-spacing:-.03em;line-height:.97}
  h2{font-size:clamp(2.3rem,3.3vw,3.05rem)}
  .lede{font-size:1.22rem;line-height:1.48}

  .split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:4.5rem;align-items:start}
  .panel{margin-top:0}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
  .cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}

  .route{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:2.8rem 0 1rem}
  .route li{padding:1.7rem 1.2rem 0 0;border-left:0;border-top:2px solid var(--navy)}
  .route li::before{left:0;top:-6px}
  .route li.gap{border-top:2px dashed var(--gold);border-left:0}
  .route .rl{font-size:.95rem}

  .acts{flex-direction:row;gap:.7rem}
  .btn{min-width:15rem}
  .line-row{grid-template-columns:auto 19rem 1fr;align-items:baseline;padding:1.15rem 0}
  .line-what{grid-column:auto}
  .line-state{margin-top:0}
  .way{grid-template-columns:auto 21rem 1fr;padding:1.5rem 0}
  .way span{margin-top:0}
  .doc{display:grid;grid-template-columns:21rem 1fr;gap:2.5rem;padding:1.7rem 0}
  .doc-links{margin-top:.2rem}
  .foot-in{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;padding-top:3rem}
  .foot-links{margin-top:0}
  .statusbar{grid-column:1/-1}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{.top,.foot,.acts,.drawer{display:none!important}body{font-size:11pt;background:#fff;display:block}
  .station{border-left:0;padding:1rem 0}.station::before{display:none}}

/* v0.5 content extensions */
a.line-name{color:var(--navy);text-decoration:none;border-bottom:1px solid transparent}
a.line-name:hover{color:var(--gold-text);border-bottom-color:currentColor}
.card ol{margin:.35rem 0 .1rem;padding-left:1.25rem}
.card ol li{margin:.42rem 0}
@media (min-width:1000px){.foot-links{grid-template-columns:repeat(3,1fr)}}

/* QR / persistent-route system v1.0 */
.qr-block{display:grid;grid-template-columns:148px 1fr;gap:1.25rem;align-items:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:1rem;margin-top:1rem}.qr-block img{width:148px;height:148px;display:block;background:#fff;padding:5px}.qr-block h3{margin:.05rem 0 .35rem}.qr-block p{margin:.2rem 0}.qr-url{font-family:Archivo,Arial,sans-serif;font-size:.82rem;font-weight:700;overflow-wrap:anywhere;color:var(--navy)}.qr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.qr-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:1rem}.qr-card img{display:block;width:min(180px,100%);height:auto;margin:.2rem auto .8rem;background:#fff;padding:4px}.qr-card h3{font-size:1.15rem;margin:.2rem 0}.qr-card .qr-url{font-size:.72rem}.route-note{font-size:.84rem;color:#5b6570}.persistent-route{display:inline-block;font-family:Archivo,Arial,sans-serif;font-weight:700;color:var(--navy);background:var(--blue);padding:.35rem .55rem;border-radius:6px;overflow-wrap:anywhere}@media(max-width:760px){.qr-grid{grid-template-columns:1fr 1fr}.qr-block{grid-template-columns:110px 1fr}.qr-block img{width:110px;height:110px}}@media(max-width:520px){.qr-grid{grid-template-columns:1fr}.qr-block{grid-template-columns:1fr}.qr-block img{width:160px;height:160px;margin:auto}.qr-block{text-align:center}}

/* Step 8 — reciprocal property relationships */
.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.property-card{display:flex;flex-direction:column;min-height:15rem;border:1px solid var(--hair);border-top:4px solid var(--rail);background:#fff;padding:1.15rem}
.property-card.tlr{border-top-color:var(--gold)}.property-card.review{border-top-color:var(--rust)}.property-card.institute{border-top-color:var(--moss)}
.property-card>span,.property-links-label{font-family:var(--sign);font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--mute)}
.property-card h3{font-family:var(--display);font-size:1.45rem;font-weight:400;margin:.5rem 0}.property-card p{font-size:.9rem}.property-card p:last-child{margin-top:auto}
.property-links{grid-column:1/-1;margin-top:1.3rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15)}
.property-links-label{color:#93A0A7;margin:0 0 .4rem}.property-links-nav{display:flex;flex-wrap:wrap;gap:.2rem 1rem}.property-links-nav a{min-height:42px;display:inline-flex;align-items:center;color:#fff;font-family:var(--sign);font-size:.75rem;font-weight:600;text-decoration:none}.property-links-nav a:hover{color:var(--gold)}
.property-links-state{font-size:.82em;color:#AEB8BE}.property-links-boundary{margin:.45rem 0 0!important;font-family:var(--sign);font-size:.69rem!important;color:#93A0A7!important;max-width:74em!important}
@media(max-width:760px){.property-grid{grid-template-columns:1fr}.property-card{min-height:auto}.property-links-nav{align-items:flex-start;flex-direction:column;gap:0}}
@media print{.property-links{display:none!important}.property-card{min-height:auto}}

/* ========================================================================== */
/* v0.5.13 — Governed TLRI appearance pilot (Balanced Anchor)                 */
/* Registry basis: v0.2 controls; v0.6 structure used only as bounded pilot.  */
/* Meaning stays written. Color is not authority.                              */
/* ========================================================================== */
:root{
  --ink:#0F1519;
  --paper:#FAFAF8;
  --warm-paper:#F6F1E8;
  --wash:#F2F4F1;
  --boundary:#606569;
  --mute:#606569;
  --soft-rail:#D6DDE2;
  --rail:#D6DDE2;
  --hair:#D6DDE2;
  --line:#D6DDE2;
  --navy:#17324D;
  --moss:#3C6048;
  --active-ochre:#8A5D12;
  --source:#606569;
  --legal:#F0CF62;
  --academic:#2060FF;
  --activist:#D86C9D;
  --public:#8C4A2F;
  --rust:#8C4A2F;
  --danger:#9E3D35;
  --relationship:#F3E4E8;
  --blue:#EEF3F6;
  --register:var(--public);
  --register-fg:var(--paper);
}
body[data-register="S"]{--register:var(--source);--register-fg:var(--paper)}
body[data-register="Y"]{--register:var(--legal);--register-fg:var(--ink)}
body[data-register="B"]{--register:var(--academic);--register-fg:var(--paper)}
body[data-register="P"]{--register:var(--activist);--register-fg:var(--ink)}
body[data-register="R"]{--register:var(--public);--register-fg:var(--paper)}

body{
  background:
    linear-gradient(90deg,rgba(243,228,232,.34),transparent 13rem) top left/100% 5.5rem no-repeat,
    var(--paper);
}
:focus-visible{outline:3px solid var(--academic);outline-offset:3px}
.top{border-bottom-color:var(--soft-rail)}
.mark i{background:var(--navy)}
.mark i:nth-child(1){background:var(--moss)}
.mark i:nth-child(2){background:var(--relationship);box-shadow:inset 0 0 0 1px rgba(23,50,77,.14)}
.mark i:nth-child(3){background:var(--navy)}
.drawer a[aria-current="page"]{background:var(--wash);box-shadow:inset 4px 0 0 var(--register)}
.desk-nav a:hover{color:var(--navy)}
.desk-nav a[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -3px 0 var(--register)}

.registry-band-wrap{
  border-bottom:1px solid var(--soft-rail);
  background:linear-gradient(90deg,var(--relationship),rgba(243,228,232,.38) 26%,rgba(250,250,248,.96) 72%);
}
.registry-band{max-width:var(--max);margin:0 auto;padding:.52rem max(var(--gutter),env(safe-area-inset-right)) .52rem max(var(--gutter),env(safe-area-inset-left));display:flex;align-items:center;gap:.55rem 1rem;flex-wrap:wrap}
.registry-chip{display:inline-flex;align-items:center;min-height:28px;padding:.24rem .55rem;background:var(--register);color:var(--register-fg);font-family:var(--sign);font-size:.64rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;border:1px solid var(--register)}
.registry-code,.registry-status{font-family:var(--sign);font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;color:var(--boundary)}
.registry-code{font-weight:700;color:var(--navy)}
.registry-status{margin-left:auto}

.station{border-left-color:var(--boundary)}
.station::before{background:var(--paper);border-color:var(--boundary)}
.station.here::before{background:var(--active-ochre);border-color:var(--active-ochre);box-shadow:0 0 0 4px rgba(138,93,18,.14)}
.station:last-of-type{border-left-color:transparent}
.stop-no em{color:var(--boundary)}
.stop-no span{color:var(--boundary)}
.lede{color:#2C363C}
.small,.route .rs,.line-state,.way span,.doc-for,.field .opt,.field small,.property-card>span{color:var(--boundary)}

.route li{border-color:var(--navy)}
.route li.gap{border-color:var(--boundary)}
.route li.gap::before{background:var(--paper);border-color:var(--boundary)}
.route li.gap .rl{color:var(--ink)}
.route-cap{border-top-color:var(--boundary);color:var(--boundary)}
.bead.rev{background:var(--public)}
.bead.off{border-color:var(--boundary)}
.doc-meta{color:var(--boundary)}

.card{border-color:var(--soft-rail);border-top-color:var(--register);background:#fff}
.card.gold,.card.moss,.card.rust,.card.navy{border-top-color:var(--register)}
.panel{border-color:var(--boundary);border-top-color:var(--navy);background:#fff}
.note{border-left-color:var(--navy);background:var(--wash)}
.relationship-note{background:linear-gradient(90deg,var(--relationship),var(--wash) 38%)}
.property-home{background:linear-gradient(90deg,rgba(243,228,232,.62),rgba(250,250,248,0) 34%)}
.property-card{border-color:var(--soft-rail);border-top-color:var(--boundary)}
.property-card.tlr{border-top-color:var(--public)}
.property-card.future{border-top-color:var(--relationship);background:linear-gradient(180deg,#fff,rgba(243,228,232,.38))}
.property-card.institute{border-top-color:var(--navy)}
.property-future{min-height:42px;display:inline-flex;align-items:center;color:#fff;font-family:var(--sign);font-size:.75rem;font-weight:600}

.btn{background:var(--navy);border-color:var(--navy)}
.btn.ghost{color:var(--navy);border-color:var(--boundary)}
.field input,.field select,.field textarea{border-color:var(--boundary)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);outline:3px solid var(--academic);outline-offset:2px}
.foot-links a:hover,.property-links-nav a:hover{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

/* QR release-gate repair: all route QR images must reflow within their container. */
img.route-qr{max-width:100%;height:auto}
.panel img.route-qr{display:block;width:min(180px,100%);height:auto;margin:.7rem auto 1rem;background:#fff;padding:4px}

/* Active Ochre is a state token only. Generic ornament uses identity/register colors. */
.statusbar .bead.rev{background:var(--active-ochre)}

@media(min-width:1000px){
  .route li.gap{border-top-color:var(--boundary)}
}
@media(max-width:760px){
  .registry-band{align-items:flex-start;gap:.35rem .6rem}
  .registry-status{width:100%;margin-left:0}
}
@media print{
  .registry-band-wrap{display:none!important}
  body{background:#fff!important;color:#000}
  .property-home,.property-card.future,.relationship-note{background:#fff!important}
  .card,.panel,.note,.property-card{border-color:#777!important;box-shadow:none!important}
}

/* v0.5.14 — identity-first landing page and public-interface simplification.
   Internal register codes remain in release records/body metadata rather than visitor-facing chrome. */
.registry-band-wrap{display:none!important}

.identity-hero{
  position:relative;
  padding:clamp(3.8rem,8vw,7.4rem) 0 clamp(3rem,6vw,5.2rem);
  border-bottom:1px solid var(--boundary);
  overflow:hidden;
}
.identity-hero::before{
  content:"";
  position:absolute;
  left:0;
  top:clamp(3.4rem,7vw,6.7rem);
  width:clamp(4.5rem,10vw,9rem);
  height:5px;
  background:linear-gradient(90deg,var(--navy) 0 58%,var(--relationship) 58% 82%,var(--public) 82% 100%);
}
.hero-eyebrow{
  margin:1.6rem 0 1.1rem;
  max-width:none;
  font-family:var(--sign);
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--boundary);
}
.institute-name{
  margin:0;
  max-width:12ch;
  color:var(--ink);
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(4rem,11vw,9.6rem);
  line-height:.82;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.institute-name span,
.institute-name strong{display:block;font-weight:400}
.institute-name span{font-size:.74em;color:var(--ink)}
.institute-name strong{color:var(--navy)}
.hero-deck{
  margin:clamp(1.8rem,3vw,2.8rem) 0 0;
  max-width:41rem;
  font-size:clamp(1.2rem,2vw,1.55rem);
  line-height:1.45;
  color:#2C363C;
}
.hero-question{
  margin-top:clamp(2rem,4vw,3.4rem);
  padding:1.15rem 0 1.15rem 1.1rem;
  border-left:3px solid var(--navy);
  max-width:56rem;
}
.hero-question span{
  display:block;
  margin-bottom:.4rem;
  font-family:var(--sign);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--boundary);
}
.hero-question strong{
  display:block;
  max-width:38em;
  font-family:var(--body);
  font-size:clamp(1.02rem,1.7vw,1.25rem);
  font-weight:400;
  line-height:1.5;
  color:var(--ink);
}
.hero-actions{margin-top:1.7rem}
.problem-title{max-width:15ch}

@media(min-width:1000px){
  .identity-hero{padding-left:8.5rem;padding-right:2rem}
  .identity-hero::before{left:8.5rem}
  .institute-name{max-width:10ch}
  .hero-deck{max-width:44rem}
  .hero-actions{max-width:38rem}
}
@media(max-width:560px){
  .identity-hero{padding-top:3.2rem}
  .identity-hero::before{top:2.85rem}
  .institute-name{font-size:clamp(3.45rem,17.5vw,5.35rem);line-height:.86}
  .hero-deck{font-size:1.14rem}
  .hero-question{padding-left:.85rem}
}
@media print{
  .identity-hero{padding:1rem 0 1.5rem;border-bottom:1px solid #777}
  .identity-hero::before{display:none}
  .institute-name{font-size:34pt;color:#000}
  .institute-name strong{color:#000}
  .hero-actions{display:none!important}
}


/* ========================================================================== */
/* v0.5.15 — Landing-page polish + palette correction                         */
/* Identity palette: Paper / Ink / Deep Indigo / Ash / Moss.                  */
/* Active Ochre is used only for current / active / here.                     */
/* Relationship Blush is a nonsemantic seam. Public Rust is not generic UI.   */
/* ========================================================================== */
:root{
  --ink:#0F1519;
  --paper:#FAFAF8;
  --warm-paper:#F6F1E8;
  --wash:#F2F4F1;
  --navy:#17324D;
  --boundary:#606569;
  --mute:#606569;
  --rail:#D6DDE2;
  --soft-rail:#D6DDE2;
  --hair:#D6DDE2;
  --line:#D6DDE2;
  --moss:#3C6048;
  --active-ochre:#8A5D12;
  --relationship:#F3E4E8;
  --gold:var(--active-ochre);
  --gold-text:var(--boundary);
}

/* Identity mark: no status or register token is used as generic brand color. */
.mark i:nth-child(1){background:var(--moss)}
.mark i:nth-child(2){background:var(--boundary);box-shadow:none}
.mark i:nth-child(3){background:var(--navy)}
.wordmark{font-size:1.08rem}

/* Current / here is the one recurring public use of Active Ochre. */
.drawer a[aria-current="page"]{background:var(--wash);box-shadow:inset 4px 0 0 var(--active-ochre)}
.desk-nav a[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -3px 0 var(--active-ochre)}
.station.here::before{background:var(--active-ochre);border-color:var(--active-ochre);box-shadow:0 0 0 4px rgba(138,93,18,.14)}
.statusbar .bead{background:var(--active-ochre)}

/* All other framework indicators are structurally redundant and identity-colored. */
.stop-no em,.stop-no span{color:var(--boundary)}
.route li.gap{border-color:var(--boundary)}
.route li.gap::before{background:var(--paper);border-color:var(--boundary)}
.route li.gap .rl{color:var(--ink)}
.bead.on{background:var(--navy);box-shadow:none}
.bead.rev{background:var(--boundary)}
.bead.off{background:transparent;border-color:var(--boundary)}

/* Cards and panels use identity structure, not hidden register semantics. */
.card{border-color:var(--soft-rail);border-top-color:var(--boundary)}
.card.gold{border-top-color:var(--boundary)}
.card.moss{border-top-color:var(--moss)}
.card.rust{border-top-color:var(--boundary)}
.card.navy{border-top-color:var(--navy)}
.panel{border-color:var(--boundary);border-top-color:var(--navy)}
.note{border-left-color:var(--navy)}
.property-card{border-top-color:var(--boundary)}
.property-card.tlr{border-top-color:var(--moss)}
.property-card.future{border-top-color:var(--relationship)}
.property-card.institute{border-top-color:var(--navy)}

/* Identity-first hero.  The name is unmistakably one name, with Institute dominant. */
.identity-hero{
  padding-top:clamp(4.1rem,8vw,7.6rem);
  padding-bottom:clamp(3.4rem,6.5vw,5.6rem);
}
.identity-hero::before{
  background:linear-gradient(90deg,var(--navy) 0 60%,var(--relationship) 60% 82%,var(--moss) 82% 100%);
}
.institute-name{max-width:11ch;line-height:.84}
.institute-name .name-prefix{display:block;font-size:.58em;line-height:.92;letter-spacing:-.025em;color:var(--ink)}
.institute-name .name-institute{display:block;font-size:1em;line-height:.82;letter-spacing:-.045em;color:var(--navy)}
.hero-deck{margin-top:clamp(2.1rem,3.4vw,3rem)}
.hero-question{margin-top:clamp(2.4rem,4.5vw,3.8rem);padding:1.2rem 0 1.2rem 1.2rem}
.hero-question span{margin-bottom:.55rem}
.hero-actions{margin-top:2rem}

/* Landing-page current-availability panel: scan-friendly, not release-control prose. */
.availability-list{margin:.7rem 0 .9rem;padding-left:1.1rem;max-width:none}
.availability-list li{margin:.45rem 0;font-size:.9rem;line-height:1.45}
.availability-list strong{color:var(--navy)}
.availability-boundary{padding-top:.75rem;border-top:1px solid var(--soft-rail);color:var(--boundary);font-size:.82rem!important}

@media(min-width:1000px){
  .wordmark{font-size:1.12rem}
  .institute-name{max-width:9ch}
}
@media(max-width:560px){
  .institute-name{font-size:clamp(3.55rem,18vw,5.5rem);max-width:9.5ch}
  .institute-name .name-prefix{font-size:.56em}
  .hero-question{margin-top:2.15rem;padding-left:.9rem}
  .hero-actions{margin-top:1.7rem}
}
@media print{
  .institute-name .name-prefix,.institute-name .name-institute{color:#000}
}

/* v0.5.17 public-usability stabilization: Family Care web tear-outs */
.write-lines p{max-width:48rem;padding:.45rem 0;border-bottom:1px solid var(--hair);margin:0}
.station .panel p+ p{margin-top:.55rem}
@media print{.top,.drawer,.foot,.acts{display:none!important}.station{border-left:0;padding:1rem}.page{max-width:none}.panel,.card,.note{break-inside:avoid}}


/* ========================================================================== */
/* v0.5.19 — Rail & Wayfinding Landing                                        */
/* v0.2 color architecture remains controlling. No new master color tokens.   */
/* Paper/Warm Paper/Wash dominate; Ash is semantic boundary; Soft Rail is      */
/* decorative; Active Ochre remains current/active/here only.                  */
/* ========================================================================== */

.landing-home{padding-bottom:2.5rem}
.home-hero{
  position:relative;
  padding:clamp(3.8rem,7vw,6.6rem) 0 clamp(2rem,4vw,3.2rem) 1.15rem;
  border-left:1px solid var(--rail);
  border-bottom:1px solid var(--rail);
}
.home-hero::before{content:"";position:absolute;left:-4px;top:clamp(4.25rem,7.5vw,7rem);width:7px;height:7px;border-radius:50%;background:var(--active-ochre);border:1px solid var(--active-ochre);box-shadow:0 0 0 4px rgba(138,93,18,.10)}
.home-title{margin:0;max-width:18ch;font-size:clamp(3rem,8vw,6.8rem);line-height:.95;letter-spacing:-.035em;color:var(--ink)}
.home-principle{margin:1rem 0 .4rem;max-width:none;font-family:var(--display);font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.08;color:var(--navy)}
.home-deck{margin:.8rem 0 0;max-width:46rem;font-size:clamp(1.07rem,1.8vw,1.32rem);line-height:1.5;color:#2C363C}
.home-purpose{margin:1.45rem 0 0;max-width:52rem;padding:.9rem 0 .9rem 1rem;border-left:2px solid var(--boundary);font-size:1rem;color:#303A40}

.quick-links{display:grid;grid-template-columns:1fr;gap:.55rem;margin:1.2rem 0 2.2rem;padding-left:1.15rem;border-left:1px solid var(--rail)}
.quick-link{display:grid;grid-template-columns:2.4rem 1fr auto;gap:.8rem;align-items:center;min-height:78px;padding:.9rem 1rem;border:1px solid rgba(96,101,105,.42);background:rgba(250,250,248,.92);text-decoration:none;transition:border-color .16s,background .16s,transform .16s}
.quick-link img{display:block;width:30px;height:30px}
.quick-link strong{display:block;font-family:var(--sign);font-size:.88rem;font-weight:700;line-height:1.25;color:var(--ink)}
.quick-link small{display:block;margin-top:.18rem;font-family:var(--sign);font-size:.69rem;line-height:1.35;color:var(--boundary)}
.quick-arrow{font-family:var(--sign);font-size:1.35rem;color:var(--navy)}
.quick-link:hover{border-color:var(--navy);background:var(--warm-paper);transform:translateY(-1px)}
.quick-link:focus-visible{outline:3px solid var(--academic);outline-offset:2px}

.home-rail-section{position:relative;margin-top:1rem;padding:2.3rem 0 2.3rem 1.15rem;border-left:1px solid var(--rail);border-top:1px solid var(--rail)}
.home-rail-section::before{content:"";position:absolute;left:-4px;top:2.65rem;width:7px;height:7px;border-radius:50%;background:var(--paper);border:1.5px solid var(--boundary)}
.section-kicker{margin-bottom:.5rem;font-family:var(--sign);font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--boundary)}
.home-rail-section h2{max-width:18ch;font-size:clamp(1.85rem,4vw,3rem)}
.section-intro{font-size:1.05rem;line-height:1.5;color:#303A40;max-width:47rem}

.route-feature{background:linear-gradient(90deg,rgba(246,241,232,.55),rgba(250,250,248,0) 60%)}
.route-map{list-style:none;margin:2rem 0 .2rem;padding:0;display:grid;grid-template-columns:1fr;gap:0;max-width:none}
.route-map li{position:relative;display:grid;grid-template-columns:3.4rem 1fr;gap:.75rem;align-items:center;padding:0 0 1.15rem 0}
.route-map li::after{content:"";position:absolute;left:1.68rem;top:3.45rem;bottom:0;width:1px;background:var(--rail)}
.route-map li:last-child::after{display:none}
.route-icon{width:3.4rem;height:3.4rem;border:1px solid var(--boundary);border-radius:50%;display:grid;place-items:center;background:var(--paper)}
.route-icon img{width:30px;height:30px}
.route-map strong{align-self:end;font-family:var(--sign);font-size:.86rem;font-weight:700;line-height:1.25;color:var(--ink)}
.route-map small{grid-column:2;align-self:start;margin-top:-.55rem;font-family:var(--sign);font-size:.69rem;line-height:1.35;color:var(--boundary)}
.route-map .break-point .route-icon{border-style:dashed;border-width:2px}
.route-map .break-point::after{background:repeating-linear-gradient(to bottom,var(--boundary) 0 4px,transparent 4px 8px)}

.available-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:1.35rem}
.available-card{display:flex;flex-direction:column;min-height:13rem;padding:1.15rem;border:1px solid rgba(96,101,105,.35);border-top:3px solid var(--navy);background:#fff}
.available-card.subdued{border-top-color:var(--boundary);background:var(--wash)}
.availability-state{font-family:var(--sign);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--boundary)}
.available-card h3{margin:.55rem 0 .35rem;font-family:var(--display);font-weight:400;font-size:1.38rem;color:var(--ink)}
.available-card p{font-size:.86rem;line-height:1.5;color:#3A454B}
.available-card a{margin-top:auto;font-family:var(--sign);font-size:.72rem;font-weight:700;color:var(--navy);text-decoration:none}
.available-card a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

.home-split{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}
.compact-panel{margin-top:0;background:var(--paper)}
.compact-panel h2{font-size:clamp(1.75rem,3.4vw,2.45rem)}
.limits-grid{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-top:1.2rem}
.limits-grid h3{font-size:.79rem;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}
.plain-checks,.plain-limits{list-style:none;padding:0;margin:.6rem 0 0;max-width:none}
.plain-checks li,.plain-limits li{position:relative;padding:.55rem 0 .55rem 1.55rem;border-top:1px solid var(--rail);font-size:.84rem;line-height:1.45;color:#303A40}
.plain-checks li::before{content:"✓";position:absolute;left:.05rem;top:.53rem;font-family:var(--sign);font-weight:700;color:var(--moss)}
.plain-limits li::before{content:"—";position:absolute;left:.05rem;top:.53rem;font-family:var(--sign);font-weight:700;color:var(--boundary)}
.panel-link{margin-top:1rem;font-family:var(--sign);font-size:.72rem;font-weight:700}
.panel-link a{color:var(--navy);text-decoration:none}
.panel-link a:hover{text-decoration:underline}
.governed-panel{background:var(--warm-paper)}
.governed-links{border-top:1px solid var(--boundary);margin-top:1rem}
.governed-links a{display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;padding:.9rem 0;border-bottom:1px solid rgba(96,101,105,.35);text-decoration:none}
.governed-links strong{font-family:var(--sign);font-size:.84rem;color:var(--ink)}
.governed-links span:nth-child(2){grid-column:1;font-size:.76rem;line-height:1.4;color:var(--boundary)}
.governed-links span:last-child{grid-column:2;grid-row:1/3;align-self:center;color:var(--navy);font-size:1.2rem}
.governed-links a:hover strong{color:var(--navy)}

.closing-section{background:linear-gradient(90deg,rgba(243,228,232,.36),rgba(250,250,248,0) 40%)}
.relationship-plain{max-width:54rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--rail);font-size:.9rem;color:#3A454B}
.closing-links{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:1rem}
.closing-links a{font-family:var(--sign);font-size:.72rem;font-weight:700;color:var(--navy);text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.closing-links a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

@media(min-width:720px){
  .quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .available-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .limits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1000px){
  .home-hero{padding:5.4rem 4rem 3.5rem 8.5rem}
  .home-hero::before{left:-4px;top:6rem;width:9px;height:9px}
  .quick-links{grid-template-columns:repeat(5,minmax(0,1fr));padding-left:8.5rem;margin-top:1.4rem;margin-bottom:3rem}
  .quick-link{grid-template-columns:2.1rem 1fr auto;min-height:104px;padding:1rem .85rem}
  .quick-link small{font-size:.64rem}
  .home-rail-section{padding:3.4rem 2rem 3.4rem 8.5rem}
  .home-rail-section::before{left:-4.5px;top:3.85rem;width:9px;height:9px}
  .route-map{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:2.5rem}
  .route-map li{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 1rem;gap:.65rem}
  .route-map li::before{content:"";position:absolute;left:-50%;right:50%;top:1.7rem;height:1px;background:var(--rail)}
  .route-map li:first-child::before{display:none}
  .route-map li::after{display:none}
  .route-map .break-point::before{background:repeating-linear-gradient(to right,var(--boundary) 0 5px,transparent 5px 10px)}
  .route-icon{position:relative;z-index:2;background:var(--paper)}
  .route-map strong{font-size:.8rem;min-height:2.1rem}
  .route-map small{grid-column:auto;margin:0;font-size:.64rem;max-width:13rem}
  .available-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .home-split{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:1rem}
  .home-split .home-rail-section{padding-left:3.2rem}
}
@media(max-width:560px){
  .home-hero{padding-top:3rem}
  .home-title{font-size:clamp(2.7rem,14vw,4.2rem)}
  .home-principle{font-size:1.6rem}
  .quick-link{min-height:74px}
  .home-rail-section{padding-top:2rem;padding-bottom:2rem}
}
@media print{
  .quick-links{display:none!important}
  .home-hero,.home-rail-section{border-left:0;padding:1rem 0;background:#fff!important}
  .home-hero::before,.home-rail-section::before{display:none}
  .route-map{grid-template-columns:repeat(5,1fr)}
  .available-card,.compact-panel{break-inside:avoid}
}


/* v0.5.24 share controls — native Web Share with copy-link fallback */
.share-status{margin:.55rem 0 0;font-family:var(--sign);font-size:.78rem;line-height:1.45;color:var(--muted);min-height:1.15em}
.share-status:empty{min-height:0;margin-top:0}
@media print{[data-share-control],.share-status{display:none!important}}


/* Institute v0.5.25 — reusable plain-language disclosure and Prepare Once component */
.info-disclosure{border:1px solid #d6dde2;background:#fff;margin:.65rem 0}.info-disclosure>summary{cursor:pointer;list-style:none;font:600 .85rem/1.3 Archivo,sans-serif;color:#17324d;padding:.68rem .8rem}.info-disclosure>summary::-webkit-details-marker{display:none}.info-disclosure>summary:focus-visible{outline:3px solid #8a5d12;outline-offset:2px}.info-disclosure[open]>summary{border-bottom:1px solid #eef0f1}.info-disclosure>div{padding:.75rem .85rem}.info-disclosure p:first-child{margin-top:0}.info-disclosure p:last-child{margin-bottom:0}.prepare-station{scroll-margin-top:1rem}.prepare-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.2rem;align-items:start}.prepare-details{margin:0}.plain-checks{padding-left:1.2rem}.plain-checks li{margin:.35rem 0}.step-list{padding-left:1.3rem}.step-list li{margin:.65rem 0}.step-list code{font-size:.83em;overflow-wrap:anywhere}@media(max-width:760px){.prepare-grid{grid-template-columns:1fr}}@media print{.prepare-station .info-disclosure{display:block!important}.prepare-station .info-disclosure>summary{display:none}.prepare-station .info-disclosure>div{padding:0;border:0}}

/* ========================================================================== */
/* v0.5.26 — ordinary-language shell + functional wayfinding                  */
/* Active Ochre continues to mean current / active / here only.               */
/* ========================================================================== */

/* Global directory: fewer, clearer choices; no generic navigation glyphs. */
@media (min-width:1000px){
  .desk-nav{gap:.18rem;align-items:center}
  .desk-nav a{
    font-size:.74rem;
    letter-spacing:.025em;
    text-transform:none;
    padding:.58rem .68rem;
    border-radius:2px;
    white-space:nowrap;
  }
  .desk-nav a:hover{background:var(--wash);color:var(--navy)}
  .desk-nav a[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -3px 0 var(--active-ochre);background:transparent}
}
.drawer a{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:.15rem .75rem;align-items:center;padding-top:.78rem;padding-bottom:.78rem}
.drawer-index{grid-row:1/3;align-self:center;font-family:var(--sign);font-size:.62rem;font-weight:700;letter-spacing:.12em;color:var(--boundary)}
.drawer .lb{font-size:.88rem;color:var(--ink)}
.drawer .st{grid-column:2;margin-left:0;text-align:left;text-transform:none;letter-spacing:0;font-size:.7rem;line-height:1.35;color:var(--boundary)}
.drawer a[aria-current="page"] .drawer-index{color:var(--active-ochre)}

/* Rails are now stateful, not decorative. State updates still occur with reduced motion. */
.station::before,.home-rail-section::before,.home-hero::before{transition:background .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease}
.station.here::before,
.home-rail-section.here::before,
.home-hero.here::before{
  background:var(--active-ochre);
  border-color:var(--active-ochre);
  box-shadow:0 0 0 5px rgba(138,93,18,.12);
  transform:scale(1.12);
}
.station.here .stop-no span,.home-rail-section.here>.section-kicker{color:var(--active-ochre)}
.station.here{border-left-color:rgba(138,93,18,.45)}
.home-rail-section.here{border-left-color:rgba(138,93,18,.45)}

/* Homepage copy and editorial rhythm. */
.home-principle{font-size:clamp(1.9rem,3.4vw,2.8rem);max-width:20ch}
.home-deck{max-width:50rem}
.home-purpose{max-width:57rem;border-left-color:var(--navy);font-size:1.02rem}
.section-kicker{letter-spacing:.11em}
.home-rail-section h2{max-width:24ch}

/* Authored numbered quick links replace generic icon-library marks. */
.quick-link{grid-template-columns:2.55rem 1fr auto;position:relative;overflow:hidden}
.quick-index{
  display:flex;align-items:flex-start;justify-content:flex-start;
  align-self:stretch;padding-top:.15rem;
  font-family:var(--sign);font-size:.63rem;font-weight:700;letter-spacing:.12em;
  color:var(--boundary);border-right:1px solid var(--rail)
}
.quick-link:hover .quick-index,.quick-link:focus-visible .quick-index{color:var(--active-ochre)}
.quick-link strong{font-size:.9rem}
.quick-link small{font-size:.7rem}
@media(min-width:1000px){
  .quick-link{grid-template-columns:2.15rem 1fr auto}
  .quick-index{font-size:.59rem}
}

/* Five-step explanation: typography and sequence carry the identity. */
.route-feature{background:linear-gradient(90deg,rgba(246,241,232,.44),rgba(250,250,248,0) 64%)}
.route-map{counter-reset:none}
.route-map li{grid-template-columns:3.15rem 1fr;gap:.85rem;padding-bottom:1.4rem}
.route-map li::after{left:1.54rem;top:3.15rem;background:var(--rail)}
.route-step{
  position:relative;z-index:2;
  width:3.15rem;height:3.15rem;display:grid;place-items:center;
  border:1px solid var(--boundary);background:var(--paper);
  font-family:var(--sign);font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--navy);
}
.route-map strong{font-size:.9rem;min-height:0}
.route-map small{font-size:.72rem;margin-top:-.5rem}
.route-map .responsible-point .route-step{border:2px solid var(--navy);box-shadow:inset 0 -4px 0 var(--wash)}
.route-map .responsible-point strong{color:var(--navy)}
@media(min-width:1000px){
  .route-map li::before{top:1.57rem}
  .route-step{width:3.15rem;height:3.15rem}
  .route-map strong{font-size:.82rem;min-height:2.25rem}
  .route-map small{font-size:.66rem;margin:0;max-width:12rem}
  .route-map .responsible-point::before{height:2px;background:var(--navy)}
}

/* Status is useful information, so give it hierarchy without turning it into decoration. */
.available-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.availability-state{
  align-self:flex-start;display:inline-flex;align-items:center;min-height:26px;
  padding:.23rem .48rem;border:1px solid var(--rail);background:var(--paper);
  letter-spacing:.07em;border-radius:2px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.home-rail-section.here .availability-state{transform:translateY(-3px);box-shadow:0 5px 13px rgba(15,21,25,.07);border-color:rgba(138,93,18,.45)}
.available-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px rgba(15,21,25,.055);border-color:rgba(23,50,77,.42)}

/* Desktop on-page index: clickable manifestation of the left rail. */
.home-scroll-nav{display:none}
@media(min-width:1180px){
  .landing-home{position:relative}
  .home-scroll-nav{
    display:flex;position:fixed;z-index:25;left:max(1rem,calc((100vw - var(--max))/2 + .6rem));top:50%;transform:translateY(-50%);
    flex-direction:column;gap:.15rem;padding:.45rem .35rem .45rem .25rem;
    background:rgba(250,250,248,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    border-left:1px solid var(--rail)
  }
  .home-scroll-nav a{display:grid;grid-template-columns:1rem auto;align-items:center;gap:.4rem;min-height:31px;text-decoration:none;color:var(--boundary);font-family:var(--sign);font-size:.61rem;font-weight:600;letter-spacing:.02em}
  .scroll-dot{width:7px;height:7px;border-radius:50%;background:var(--paper);border:1.5px solid var(--rail);transition:all .2s ease}
  .scroll-label{opacity:0;transform:translateX(-4px);transition:opacity .18s ease,transform .18s ease;white-space:nowrap}
  .home-scroll-nav:hover .scroll-label,.home-scroll-nav:focus-within .scroll-label,.home-scroll-nav a[aria-current="true"] .scroll-label{opacity:1;transform:none}
  .home-scroll-nav a[aria-current="true"]{color:var(--navy)}
  .home-scroll-nav a[aria-current="true"] .scroll-dot{background:var(--active-ochre);border-color:var(--active-ochre);box-shadow:0 0 0 4px rgba(138,93,18,.12);transform:scale(1.14)}
}

/* Keep animation functional and restrained. */
@media(prefers-reduced-motion:reduce){
  .station::before,.home-rail-section::before,.home-hero::before,.available-card,.availability-state,.scroll-dot,.scroll-label{transition:none!important}
  .home-rail-section.here .availability-state,.available-card:hover{transform:none}
}

/* Compact home headings that previously exposed internal design vocabulary. */
.governed-panel h2,.closing-section h2{max-width:25ch}

@media(max-width:560px){
  .quick-link{grid-template-columns:2.2rem 1fr auto}
  .quick-index{font-size:.58rem}
  .route-map li{grid-template-columns:2.8rem 1fr}
  .route-step{width:2.8rem;height:2.8rem}
  .route-map li::after{left:1.38rem;top:2.82rem}
}

/* v0.5.28: Education Navigation Packet & Action Workbook successor; shell visual behavior inherited from v0.5.26. */

/* v0.5.39 / rc4.1 TEST FOYER & DISCOVERABILITY REPAIR */
.test-nav-tag{font:600 .62rem/1 Archivo,sans-serif;letter-spacing:.08em;border:1px solid currentColor;border-radius:999px;padding:.18rem .35rem;margin-left:.25rem;vertical-align:.12rem}
.test-build-flag{max-width:78rem;margin:0 0 2rem;padding:.85rem 1rem;border:1px solid currentColor;border-radius:.7rem;font-family:Archivo,sans-serif;font-size:.82rem;letter-spacing:.015em;background:rgba(255,255,255,.7)}
.test-foyer{max-width:92rem;margin:0 auto;padding:clamp(1.25rem,3vw,3rem) clamp(1rem,4vw,4rem) clamp(3rem,7vw,6rem)}
.test-foyer-heading{max-width:52rem;margin-bottom:1.35rem}.test-foyer-heading h2{font-size:clamp(2rem,4.2vw,4rem);line-height:1.02;margin:.2rem 0 .7rem}
.test-foyer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.test-route{display:flex;flex-direction:column;min-height:15rem;padding:clamp(1.2rem,2.5vw,2rem);border:1px solid rgba(30,40,35,.28);border-radius:1rem;text-decoration:none;color:inherit;background:rgba(255,255,255,.66);transition:transform .15s ease,border-color .15s ease}
.test-route:hover{transform:translateY(-2px);border-color:currentColor}.test-route:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.test-route-primary{border-width:2px;background:rgba(255,255,255,.92)}
.test-route-status{font:600 .72rem/1.2 Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.2rem}
.test-route strong{font:500 clamp(1.45rem,2.7vw,2.25rem)/1.08 Newsreader,serif;margin-bottom:.65rem}
.test-route small{font:400 1rem/1.5 Archivo,sans-serif;max-width:36rem}
.test-route-action{margin-top:auto;padding-top:1.5rem;font:600 .9rem/1.2 Archivo,sans-serif}
.test-route-unsure{min-height:12rem}.test-known-route{margin-top:1rem;padding:1rem 0;font-family:Archivo,sans-serif;font-size:.92rem}
@media(max-width:720px){.test-foyer-grid{grid-template-columns:1fr}.test-route{min-height:12rem}.test-build-flag{margin-bottom:1.2rem}}

/* v0.5.40 / rc4.2 */
body .landing-home{overflow-x:hidden}
.landing-home .test-foyer-hero,.landing-home .test-foyer{max-width:76rem;width:calc(100% - 2rem);margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}
.test-foyer-hero .home-title{font-size:clamp(3.4rem,8vw,7.6rem);max-width:12ch;overflow-wrap:normal;word-break:normal}
.test-foyer-hero .home-deck{max-width:42rem}
.test-foyer-one-column{grid-template-columns:1fr;max-width:58rem}
.test-foyer-one-column .test-route{min-height:0;padding:1.35rem 1.5rem}
.test-foyer-one-column .test-route strong{font-size:clamp(1.35rem,2.2vw,1.9rem)}
.test-foyer-one-column .test-route small{margin-top:.25rem}
.test-foyer-one-column .test-route-action{padding-top:.8rem}
.test-institute-depth{max-width:76rem;width:calc(100% - 2rem);margin:1rem auto 5rem;border-top:1px solid rgba(30,40,35,.25);border-bottom:1px solid rgba(30,40,35,.25)}
.test-institute-depth>summary{cursor:pointer;padding:1.25rem 0;font:600 .9rem/1.4 Archivo,sans-serif}
.test-institute-depth-inner{padding-bottom:2rem}
@media(max-width:720px){.landing-home .test-foyer-hero,.landing-home .test-foyer,.test-institute-depth{width:calc(100% - 1.5rem)}.test-foyer-hero .home-title{font-size:clamp(3rem,15vw,5rem)}.test-foyer-one-column .test-route{padding:1.15rem}}

/* v0.5.41 / rc4.3 — visitor-language + contextual-boundary repair */
.institution-depth{max-width:76rem;margin:2rem auto 4rem;border-top:1px solid rgba(30,40,35,.22);border-bottom:1px solid rgba(30,40,35,.22)}
.institution-depth>summary{cursor:pointer;padding:1rem 0;font:600 .86rem/1.4 Archivo,sans-serif;color:#4f5753}
.institution-depth-inner{padding:.25rem 0 1.5rem;max-width:62rem}
.visitor-nav-start .lede,.visitor-example .lede{max-width:52rem}
.visitor-choice-cards .card h2{font-size:clamp(1.35rem,2.3vw,1.8rem);margin-top:0}
.example-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}
.example-flow article{padding:1.2rem 1.25rem;border:1px solid rgba(30,40,35,.22);border-radius:.75rem;background:rgba(255,255,255,.58)}
.example-flow strong{font:600 1rem/1.35 Archivo,sans-serif}.example-flow p{margin:.55rem 0 0}
.fc-test-banner-quiet{padding:.55rem .8rem!important;font-size:.78rem!important;opacity:.82}
.family-care-depth,.education-depth{margin-left:0;margin-right:0}
@media(max-width:720px){.example-flow{grid-template-columns:1fr}.institution-depth{width:100%}}

/* v0.5.43 — real Institute foyer */
.institute-frontdoor{max-width:76rem!important;width:calc(100% - 2rem)!important;margin:0 auto!important;padding:clamp(4rem,9vw,8rem) 0 2rem!important}
.institute-frontdoor .home-title{font-size:clamp(4rem,9vw,8rem);line-height:.95;max-width:10ch}
.institute-frontdoor .home-deck{max-width:48rem;font-size:clamp(1.25rem,2.3vw,1.9rem)}
.institute-frontdoor .home-purpose{max-width:48rem}
.institute-foyer{max-width:76rem!important;width:calc(100% - 2rem)!important;margin:0 auto 5rem!important;padding:0!important}
.institute-foyer-grid{max-width:60rem}
.institute-route{background:rgba(255,255,255,.76)}
.institute-now,.home-practical{max-width:76rem;width:calc(100% - 2rem);margin:0 auto;padding:3.5rem 0}
.institute-now h2,.home-practical h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;max-width:18ch}
.home-institution-depth{max-width:76rem;width:calc(100% - 2rem);margin:2rem auto 6rem}
@media(max-width:720px){
 .institute-frontdoor,.institute-foyer,.institute-now,.home-practical,.home-institution-depth{width:calc(100% - 1.5rem)!important}
 .institute-frontdoor{padding-top:3rem!important}
 .institute-frontdoor .home-title{font-size:clamp(3.5rem,17vw,5rem)}
}

/* v0.5.45 branded threshold */
.institute-threshold{max-width:58rem;margin:0 0 clamp(2rem,5vw,4rem);padding:clamp(1.25rem,3vw,2rem) 0 clamp(1.5rem,3vw,2.25rem);border-bottom:1px solid rgba(31,45,40,.18)}.institute-threshold-kicker{margin:0 0 .7rem;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.institute-threshold h1{max-width:18ch;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1.02}.institute-threshold-purpose{max-width:48rem;margin:1rem 0 0;font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.55}.institute-threshold-invitation{margin:1.15rem 0 0;font-size:1.08rem}@media(max-width:640px){.institute-threshold{margin-bottom:1.75rem;padding-top:.5rem}.institute-threshold h1{font-size:clamp(2rem,10vw,3rem)}}


/* v0.5.47 — branded threshold with quiet material texture */
.institute-threshold{position:relative;overflow:hidden;max-width:72rem;margin:0 0 clamp(2.25rem,5vw,4.5rem);padding:clamp(2rem,5vw,4.25rem);border:1px solid rgba(45,64,55,.16);border-radius:clamp(1rem,2vw,1.6rem);background:radial-gradient(circle at 18% 20%, rgba(255,255,255,.42) 0 1px, transparent 1.5px) 0 0 / 18px 18px,radial-gradient(circle at 78% 64%, rgba(46,69,59,.06) 0 1px, transparent 1.7px) 0 0 / 23px 23px,linear-gradient(135deg, rgba(236,230,214,.88), rgba(224,232,223,.92));box-shadow:0 18px 45px rgba(37,52,46,.06)}
.institute-threshold::before{content:"";position:absolute;inset:0 auto 0 0;width:clamp(.35rem,.7vw,.55rem);background:linear-gradient(180deg, rgba(90,112,83,.78), rgba(132,102,71,.58))}
.institute-threshold>*{position:relative;z-index:1}.institute-threshold h1{max-width:18ch;margin:0;font-size:clamp(2.15rem,5vw,4.25rem);line-height:1.02;text-wrap:balance}.institute-threshold-purpose{max-width:50rem;margin:1.15rem 0 0;font-size:clamp(1.02rem,1.5vw,1.16rem);line-height:1.62}.threshold-why{max-width:52rem;margin:clamp(1.6rem,3vw,2.5rem) 0 0;padding:1.15rem 1.25rem;border-left:2px solid rgba(70,92,75,.42);background:rgba(255,255,255,.34);backdrop-filter:blur(1px)}.threshold-why h2{margin:0 0 .55rem;font-size:clamp(1.08rem,1.6vw,1.32rem)}.threshold-why p{margin:.45rem 0 0;max-width:48rem;line-height:1.58}.section-lead{max-width:46rem;margin-top:.5rem}@media (prefers-reduced-transparency:reduce){.threshold-why{backdrop-filter:none}}@media (max-width:640px){.institute-threshold{margin-bottom:2rem;padding:1.5rem 1.25rem 1.6rem 1.5rem;border-radius:1rem}.institute-threshold h1{font-size:clamp(2rem,10vw,3.05rem)}.threshold-why{margin-top:1.35rem;padding:.95rem 1rem}}


/* v0.5.48 — threshold sequence: identity → reason → situation
   Inspired by section-based scroll storytelling, without scrolljacking or forced snapping. */

.landing-home .home-hero.institute-frontdoor{
  max-width:none;
  padding-top:clamp(1.25rem,3vw,2.5rem);
}

/* 01 — Institute identity / purpose */
.landing-home .institute-threshold{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  max-width:none;
  min-height:clamp(30rem,64vh,48rem);
  margin:0;
  padding:clamp(2rem,6vw,6.25rem);
  border:0;
  border-radius:clamp(1.1rem,2vw,1.8rem);
  color:#FAFAF8;
  background:
    radial-gradient(circle at 76% 20%, rgba(140,74,47,.34) 0 12%, transparent 33%),
    radial-gradient(circle at 16% 78%, rgba(60,96,72,.40) 0 8%, transparent 30%),
    repeating-linear-gradient(118deg, rgba(250,250,248,.030) 0 1px, transparent 1px 17px),
    linear-gradient(135deg, #17324D 0%, #203B42 48%, #304A3C 100%);
  box-shadow:0 28px 70px rgba(15,21,25,.13);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.landing-home .institute-threshold::before{
  content:"";
  position:absolute;
  inset:clamp(1rem,2.4vw,1.8rem);
  width:auto;
  border:1px solid rgba(250,250,248,.15);
  border-radius:calc(clamp(1.1rem,2vw,1.8rem) - .35rem);
  background:
    linear-gradient(90deg, transparent 0 49.85%, rgba(250,250,248,.055) 49.9% 50.1%, transparent 50.15%),
    linear-gradient(0deg, transparent 0 49.85%, rgba(250,250,248,.045) 49.9% 50.1%, transparent 50.15%);
  pointer-events:none;
}
.landing-home .institute-threshold::after{
  content:"";
  position:absolute;
  width:clamp(15rem,34vw,34rem);
  aspect-ratio:1;
  right:clamp(-9rem,-8vw,-4rem);
  top:clamp(-10rem,-8vw,-5rem);
  border:1px solid rgba(250,250,248,.11);
  border-radius:50%;
  box-shadow:
    0 0 0 3.4rem rgba(250,250,248,.025),
    0 0 0 7.8rem rgba(250,250,248,.018);
  pointer-events:none;
}
.landing-home .institute-threshold > *{
  position:relative;
  z-index:1;
}
.landing-home .institute-threshold .hero-eyebrow{
  margin:0 0 clamp(1rem,2vw,1.5rem);
  color:rgba(250,250,248,.76);
  font-family:var(--sign);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.landing-home .institute-threshold h1{
  max-width:15ch;
  margin:0;
  color:#FAFAF8;
  font-size:clamp(3.25rem,7.8vw,7.6rem);
  line-height:.92;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.landing-home .institute-threshold-purpose{
  max-width:49rem;
  margin:clamp(1.45rem,3vw,2.3rem) 0 0;
  color:rgba(250,250,248,.88);
  font-size:clamp(1.08rem,1.55vw,1.34rem);
  line-height:1.62;
}

/* 02 — reason / gap */
.landing-home .threshold-why-panel{
  position:relative;
  overflow:hidden;
  max-width:none;
  margin:clamp(1rem,2vw,1.4rem) 0 0;
  padding:clamp(2rem,5.4vw,5.4rem);
  border-radius:clamp(.95rem,1.7vw,1.45rem);
  border:1px solid rgba(140,74,47,.18);
  background:
    linear-gradient(115deg, rgba(140,74,47,.07), transparent 38%),
    repeating-linear-gradient(0deg, rgba(15,21,25,.022) 0 1px, transparent 1px 11px),
    #F4EEE4;
}
.landing-home .threshold-why-panel::after{
  content:"";
  position:absolute;
  top:0;
  right:clamp(1.5rem,4vw,4rem);
  width:clamp(4rem,8vw,7rem);
  height:.45rem;
  background:linear-gradient(90deg,var(--rust),#B78255);
}
.landing-home .threshold-panel-kicker{
  margin:0 0 .8rem;
  font-family:var(--sign);
  color:var(--rust);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.landing-home .threshold-why-panel h2{
  max-width:18ch;
  margin:0;
  font-size:clamp(2.15rem,4.2vw,4.7rem);
  line-height:.98;
  letter-spacing:-.018em;
  text-wrap:balance;
}
.landing-home .threshold-why-copy{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(14rem,1fr);
  gap:clamp(1.3rem,4vw,4rem);
  align-items:end;
  margin-top:clamp(1.5rem,3vw,2.6rem);
}
.landing-home .threshold-why-copy p{
  margin:0;
  max-width:49rem;
  font-size:clamp(1.04rem,1.45vw,1.25rem);
  line-height:1.62;
}
.landing-home .threshold-why-copy p:last-child{
  padding:1rem 1.1rem;
  border-left:3px solid var(--rust);
  background:rgba(255,255,255,.52);
}

/* 03 — situation prompt */
.landing-home .foyer-question-panel{
  position:relative;
  max-width:none;
  margin:clamp(1rem,2vw,1.4rem) 0 0;
  padding:clamp(2rem,5.4vw,5rem);
  border:1px solid rgba(60,96,72,.18);
  border-radius:clamp(.95rem,1.7vw,1.45rem);
  background:
    radial-gradient(circle at 88% 18%, rgba(60,96,72,.10), transparent 28%),
    linear-gradient(135deg, #EEF3F6 0%, #F2F4F1 62%, #E9EFEA 100%);
}
.landing-home .foyer-question-panel .threshold-panel-kicker{
  color:var(--moss);
}
.landing-home .foyer-question-panel #what-is-happening{
  max-width:13ch;
  margin:0;
  font-size:clamp(3rem,6.3vw,6.5rem);
  line-height:.91;
  letter-spacing:-.025em;
}
.landing-home .foyer-question-panel .home-deck{
  max-width:46rem;
  margin:clamp(1.15rem,2.5vw,1.8rem) 0 0;
  font-size:clamp(1.05rem,1.55vw,1.3rem);
  line-height:1.58;
  color:#334048;
}
.landing-home .foyer-question-hint{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin:clamp(1rem,2vw,1.5rem) 0 0;
  padding:.55rem .8rem;
  border-radius:999px;
  background:rgba(60,96,72,.10);
  color:#294333;
  font-family:var(--sign);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.02em;
}
.landing-home .foyer-question-hint::before{
  content:"↓";
  font-size:1rem;
}

/* Route panel now reads as the continuation of the third stage, not another white wall. */
.landing-home .foyer-route-panel{
  margin-top:clamp(.8rem,1.5vw,1.15rem);
  padding:clamp(.7rem,1.4vw,1rem);
  border-radius:1.2rem;
  background:linear-gradient(180deg, rgba(238,243,246,.64), rgba(250,250,248,0));
}
.landing-home .institute-route{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.landing-home .institute-route:hover,
.landing-home .institute-route:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(15,21,25,.07);
}

/* Progressive enhancement: the supplied scroll-animation idea, but no fixed panels,
   forced snapping, or inaccessible scroll hijacking. */
@keyframes tlri-threshold-enter{
  from{opacity:.35;transform:translateY(2.2rem) scale(.992)}
  to{opacity:1;transform:none}
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .landing-home .institute-threshold,
    .landing-home .threshold-why-panel,
    .landing-home .foyer-question-panel{
      animation-name:tlri-threshold-enter;
      animation-fill-mode:both;
      animation-timing-function:linear;
      animation-timeline:view();
      animation-range:entry 0% entry 38%;
    }
  }
}

@media (max-width:780px){
  .landing-home .institute-threshold{
    min-height:34rem;
    padding:2rem 1.35rem 2.4rem;
  }
  .landing-home .institute-threshold h1{
    font-size:clamp(3rem,15vw,5rem);
  }
  .landing-home .threshold-why-panel,
  .landing-home .foyer-question-panel{
    padding:1.75rem 1.25rem 2rem;
  }
  .landing-home .threshold-why-copy{
    grid-template-columns:1fr;
  }
  .landing-home .foyer-question-panel #what-is-happening{
    font-size:clamp(3rem,15vw,5.25rem);
  }
}


/* v0.5.49 — balanced public threshold
   Goal: preserve the stronger identity of v0.5.48 while making the routing service
   arrive sooner and ensuring the action layer is at least as strong as the hero. */

.landing-home .home-hero.institute-frontdoor{
  padding-top:clamp(.8rem,2vw,1.35rem);
}

/* Hero: distinctive, but no longer consumes most of a laptop viewport. */
.landing-home .institute-threshold{
  min-height:clamp(24rem,50vh,37rem);
  padding:clamp(1.8rem,4.8vw,4.8rem);
}
.landing-home .institute-threshold h1{
  max-width:14ch;
  font-size:clamp(3rem,6.6vw,6.25rem);
}
.landing-home .institute-threshold-purpose{
  max-width:45rem;
  font-size:clamp(1.03rem,1.35vw,1.22rem);
}

/* Keep "why" as a bridge, not a second hero. */
.landing-home .threshold-why-panel{
  padding:clamp(1.65rem,3.7vw,3.6rem);
}
.landing-home .threshold-why-panel h2{
  max-width:19ch;
  font-size:clamp(1.9rem,3.35vw,3.55rem);
}
.landing-home .threshold-why-copy{
  margin-top:clamp(1rem,2vw,1.55rem);
  gap:clamp(1rem,3vw,2.5rem);
}
.landing-home .threshold-why-copy p{
  font-size:clamp(1rem,1.2vw,1.12rem);
}

/* The actual visitor decision gets strong visual priority. */
.landing-home .foyer-question-panel{
  padding:clamp(1.8rem,4vw,3.75rem);
}
.landing-home .foyer-question-panel #what-is-happening{
  max-width:12ch;
  font-size:clamp(2.7rem,5.15vw,5.25rem);
}
.landing-home .foyer-question-panel .home-deck{
  max-width:42rem;
  font-size:clamp(1.02rem,1.3vw,1.16rem);
}

/* Route cards: the action layer becomes the visual payoff of the threshold sequence. */
.landing-home .foyer-route-panel{
  position:relative;
  margin-top:.7rem;
  padding:clamp(.85rem,1.8vw,1.25rem);
  border:1px solid rgba(60,96,72,.14);
  background:
    linear-gradient(180deg, rgba(238,243,246,.95), rgba(250,250,248,.38));
}
.landing-home .institute-route-grid{
  gap:clamp(.75rem,1.5vw,1rem);
}
.landing-home .institute-route{
  position:relative;
  overflow:hidden;
  min-height:100%;
  border-color:rgba(37,52,46,.14);
  background:rgba(255,255,255,.84);
  box-shadow:0 5px 18px rgba(15,21,25,.035);
}
.landing-home .institute-route::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:.28rem;
  background:linear-gradient(180deg, rgba(60,96,72,.80), rgba(140,74,47,.58));
  opacity:.72;
}
.landing-home .institute-route:hover,
.landing-home .institute-route:focus-within{
  transform:translateY(-2px);
  border-color:rgba(60,96,72,.28);
  box-shadow:0 14px 34px rgba(15,21,25,.08);
}

/* REVIEW tags remain explicit, but recede visually so they read as status, not navigation. */
.site-header .test-nav-tag,
.site-nav .test-nav-tag,
.landing-home .route-review-tag{
  display:inline-flex;
  align-items:center;
  padding:.08rem .34rem;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:.58rem;
  font-weight:800;
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.68;
  vertical-align:.14em;
}
.site-header a:hover .test-nav-tag,
.site-header a:focus-visible .test-nav-tag{
  opacity:.9;
}

/* Make the established rail participate in the opening sequence.
   The numbered dots are decorative orientation only and do not enter the tab order. */
.landing-home [data-stage]{
  position:relative;
}
@media (min-width: 980px){
  .landing-home [data-stage]::marker{content:"";}
  .landing-home [data-stage]::selection{background:rgba(140,74,47,.18);}
  .landing-home [data-stage] > :first-child{
    position:relative;
  }
  .landing-home [data-stage] > :first-child::before{
    content:attr(data-stage);
    position:absolute;
    left:calc(-1 * clamp(3.4rem,4.6vw,5rem));
    top:.1rem;
    width:1.9rem;
    height:1.9rem;
    border-radius:50%;
    display:grid;
    place-items:center;
    border:1px solid rgba(60,96,72,.25);
    background:#FAFAF8;
    color:#4A5F52;
    font-family:var(--sign);
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.03em;
    box-shadow:0 0 0 .3rem rgba(250,250,248,.92);
    z-index:3;
  }
  .landing-home .institute-threshold > :first-child::before{
    background:#213A3F;
    color:#FAFAF8;
    border-color:rgba(250,250,248,.28);
    box-shadow:0 0 0 .3rem rgba(33,58,63,.45);
  }
}

/* Motion stays subordinate to content. */
@keyframes tlri-threshold-enter-balanced{
  from{opacity:.55;transform:translateY(1rem)}
  to{opacity:1;transform:none}
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .landing-home .institute-threshold,
    .landing-home .threshold-why-panel,
    .landing-home .foyer-question-panel{
      animation-name:tlri-threshold-enter-balanced;
      animation-timeline:view();
      animation-range:entry 0% entry 24%;
      animation-fill-mode:both;
      animation-timing-function:linear;
    }
  }
}

/* Footer final balancing: no extra visual monument at the bottom. */
.site-footer{
  margin-top:clamp(3.5rem,7vw,6rem);
}
.site-footer .footer-brand,
.site-footer .footer-links,
.site-footer .footer-meta{
  max-width:72rem;
}

@media (max-width: 780px){
  .landing-home .institute-threshold{
    min-height:30rem;
    padding:1.7rem 1.25rem 2rem;
  }
  .landing-home .institute-threshold h1{
    font-size:clamp(2.8rem,13.5vw,4.55rem);
  }
  .landing-home .threshold-why-panel,
  .landing-home .foyer-question-panel{
    padding:1.55rem 1.1rem 1.75rem;
  }
  .landing-home .threshold-why-panel h2{
    font-size:clamp(1.85rem,9vw,2.8rem);
  }
  .landing-home .foyer-question-panel #what-is-happening{
    font-size:clamp(2.65rem,13vw,4.5rem);
  }
}


/* v0.5.50 — Action Surface & Responsive Repair
   Preserve the v0.5.49 identity. Repair the actual service surface. */

/* Remove the v0.5.49 hollow decorative stage circles completely. */
.landing-home [data-stage] > :first-child::before{
  content:none !important;
  display:none !important;
}

/* Route surface uses the available width. */
.landing-home .foyer-route-panel{
  width:calc(100% - 2rem) !important;
  max-width:76rem !important;
}
.landing-home .institute-foyer-grid{
  width:100%;
  max-width:none;
  gap:clamp(.8rem,1.5vw,1.1rem);
}
.landing-home .institute-route{
  min-width:0;
  min-height:12.5rem;
  padding:clamp(1.2rem,2vw,1.65rem);
}
.landing-home .institute-route strong{
  font-size:clamp(1.55rem,2vw,2.05rem);
}
.landing-home .institute-route small{
  max-width:34rem;
}

/* Wide desktop: one decision, four alternatives, arranged 2x2. */
@media (min-width: 980px){
  .landing-home .institute-foyer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Tablet and mobile: one clear choice per row. */
@media (max-width: 979px){
  .landing-home .institute-foyer-grid{
    grid-template-columns:1fr !important;
  }
  .landing-home .institute-route{
    min-height:0;
  }
}

/* Intermediate-width typography: prevent the question panel from becoming
   oversized or clipping before the mobile breakpoint. */
@media (min-width: 721px) and (max-width: 1100px){
  .landing-home .foyer-question-panel{
    padding:clamp(1.55rem,3.5vw,2.6rem);
  }
  .landing-home .foyer-question-panel #what-is-happening{
    max-width:10ch;
    font-size:clamp(3rem,7vw,4.45rem);
    line-height:.94;
  }
  .landing-home .foyer-question-panel .home-deck{
    max-width:37rem;
    font-size:clamp(1rem,1.65vw,1.12rem);
  }
  .landing-home .foyer-question-hint{
    max-width:100%;
    white-space:normal;
  }
}

/* Compact phones: protect text from horizontal clipping. */
@media (max-width: 520px){
  .landing-home .foyer-question-panel #what-is-happening{
    max-width:9ch;
    font-size:clamp(2.55rem,12.5vw,3.8rem);
  }
  .landing-home .institute-route strong{
    font-size:clamp(1.4rem,7vw,1.8rem);
  }
}

/* One quiet secondary browse path, not a second routing system. */
.landing-home .home-browse{
  max-width:76rem;
  width:calc(100% - 2rem);
  margin:clamp(1.75rem,4vw,3rem) auto 0;
  padding:0;
}
.landing-home .home-browse-link{
  display:inline-flex;
  align-items:center;
  min-height:2.75rem;
  padding:.7rem .95rem;
  border:1px solid rgba(37,52,46,.16);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  color:inherit;
  font-family:var(--sign);
  font-size:.88rem;
  font-weight:700;
  text-decoration:none;
}
.landing-home .home-browse-link:hover{
  border-color:rgba(60,96,72,.34);
  background:rgba(238,243,246,.78);
}
.landing-home .home-browse-link:focus-visible{
  outline:3px solid currentColor;
  outline-offset:3px;
}

/* Keep the inspection layer subordinate and avoid repeating site-level boundaries. */
.landing-home .home-institution-depth{
  margin-top:clamp(2.5rem,5vw,4rem);
}
.landing-home .home-institution-depth .institution-depth-inner{
  max-width:54rem;
}


/* ==========================================================================
   v0.5.51 — Surface & Depth Reconciliation
   Return to the Institute's established governed-light palette.
   Depth over saturation. Structure over spectacle. Texture over decoration.
   No new master color tokens.
   ========================================================================== */

/* The Institute rail again carries the composition. */
.landing-home .home-hero.institute-frontdoor{
  position:relative;
  padding-top:clamp(.7rem,1.5vw,1.1rem);
  padding-left:clamp(1rem,1.8vw,1.35rem);
  border-left:2px solid var(--soft-rail);
  border-bottom:0;
}
.landing-home .home-hero.institute-frontdoor::before{
  left:-5px;
  top:clamp(2.4rem,4vw,3.4rem);
  width:8px;
  height:8px;
  background:var(--active-ochre);
  border:1px solid var(--active-ochre);
  box-shadow:0 0 0 5px rgba(138,93,18,.08);
}

/* Shared raised-paper surface language. */
.landing-home .institute-threshold,
.landing-home .threshold-why-panel,
.landing-home .foyer-question-panel{
  border-radius:clamp(.8rem,1.45vw,1.2rem);
  box-shadow:
    0 16px 34px rgba(15,21,25,.055),
    0 3px 8px rgba(15,21,25,.035),
    inset 0 1px 0 rgba(255,255,255,.82);
}

/* 01 — Identity: pale blue/wash, not a saturated campaign field. */
.landing-home .institute-threshold{
  min-height:clamp(22rem,43vh,32rem);
  margin:0;
  padding:clamp(1.8rem,4.3vw,4rem);
  color:var(--ink);
  border:1px solid var(--soft-rail);
  background:
    linear-gradient(rgba(23,50,77,.022) 1px, transparent 1px) 0 0 / 18px 18px,
    linear-gradient(90deg, rgba(23,50,77,.018) 1px, transparent 1px) 0 0 / 18px 18px,
    linear-gradient(135deg, rgba(238,243,246,.96), rgba(242,244,241,.97) 62%, rgba(246,241,232,.74));
}
.landing-home .institute-threshold::before{
  content:"";
  position:absolute;
  inset:clamp(.85rem,1.8vw,1.35rem);
  width:auto;
  border:1px solid rgba(96,101,105,.13);
  border-radius:calc(clamp(.8rem,1.45vw,1.2rem) - .25rem);
  background:none;
  pointer-events:none;
}
.landing-home .institute-threshold::after{
  content:"";
  position:absolute;
  right:clamp(1.2rem,3vw,2.8rem);
  top:clamp(1.1rem,2.6vw,2.4rem);
  width:clamp(5rem,10vw,8rem);
  height:.34rem;
  border-radius:999px;
  background:linear-gradient(90deg, var(--moss), var(--active-ochre));
  opacity:.42;
  box-shadow:none;
}
.landing-home .institute-threshold .hero-eyebrow{
  color:var(--moss);
  margin-bottom:clamp(.8rem,1.6vw,1.15rem);
}
.landing-home .institute-threshold h1{
  max-width:15ch;
  color:var(--ink);
  font-size:clamp(2.9rem,5.7vw,5.45rem);
  line-height:.96;
  letter-spacing:-.025em;
}
.landing-home .institute-threshold-purpose{
  max-width:47rem;
  margin-top:clamp(1.05rem,2vw,1.55rem);
  color:#344048;
  font-size:clamp(1.02rem,1.25vw,1.16rem);
  line-height:1.6;
}

/* 02 — Why: warm paper, with the concluding paragraph visibly lifted. */
.landing-home .threshold-why-panel{
  margin-top:clamp(.8rem,1.5vw,1.05rem);
  padding:clamp(1.55rem,3.25vw,3rem);
  border:1px solid rgba(140,74,47,.15);
  background:
    repeating-linear-gradient(0deg, rgba(96,101,105,.018) 0 1px, transparent 1px 13px),
    linear-gradient(135deg, rgba(246,241,232,.97), rgba(250,250,248,.96));
}
.landing-home .threshold-why-panel::after{
  width:clamp(3.2rem,6vw,5rem);
  height:.26rem;
  right:clamp(1.25rem,3vw,2.5rem);
  background:var(--rust);
  opacity:.42;
}
.landing-home .threshold-why-panel .threshold-panel-kicker{
  color:var(--rust);
}
.landing-home .threshold-why-panel h2{
  max-width:20ch;
  font-size:clamp(1.85rem,3vw,3.2rem);
  line-height:1;
}
.landing-home .threshold-why-copy{
  margin-top:clamp(.95rem,1.8vw,1.35rem);
  gap:clamp(1rem,2.4vw,2rem);
}
.landing-home .threshold-why-copy p{
  font-size:clamp(1rem,1.12vw,1.08rem);
  line-height:1.58;
}
.landing-home .threshold-why-copy p:last-child{
  padding:1rem 1.15rem;
  border:1px solid rgba(96,101,105,.16);
  border-left:3px solid rgba(140,74,47,.60);
  border-radius:.55rem;
  background:rgba(250,250,248,.96);
  box-shadow:
    0 9px 20px rgba(15,21,25,.055),
    inset 0 1px 0 rgba(255,255,255,.88);
}

/* 03 — Routing prompt: near-paper wash, distinct by elevation rather than color. */
.landing-home .foyer-question-panel{
  margin-top:clamp(.8rem,1.5vw,1.05rem);
  padding:clamp(1.65rem,3.5vw,3.25rem);
  border:1px solid rgba(60,96,72,.14);
  background:
    linear-gradient(rgba(60,96,72,.018) 1px, transparent 1px) 0 0 / 20px 20px,
    linear-gradient(135deg, rgba(250,250,248,.98), rgba(242,244,241,.96));
}
.landing-home .foyer-question-panel .threshold-panel-kicker{
  color:var(--moss);
}
.landing-home .foyer-question-panel #what-is-happening{
  max-width:13ch;
  font-size:clamp(2.65rem,4.65vw,4.7rem);
  line-height:.94;
}
.landing-home .foyer-question-panel .home-deck{
  max-width:42rem;
  color:#3A454B;
  font-size:clamp(1rem,1.2vw,1.12rem);
}
.landing-home .foyer-question-hint{
  margin-top:clamp(.9rem,1.6vw,1.2rem);
  padding:.5rem .74rem;
  border:1px solid rgba(60,96,72,.14);
  background:rgba(60,96,72,.055);
  color:#31503C;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

/* Continue the rail through the actual action layer and the rest of the homepage. */
.landing-home .foyer-route-panel,
.landing-home .home-browse,
.landing-home .home-practical,
.landing-home .home-institution-depth{
  position:relative;
  border-left:2px solid var(--soft-rail);
}
.landing-home .foyer-route-panel{
  margin-top:.65rem;
  padding:clamp(.8rem,1.5vw,1.1rem) clamp(.8rem,1.5vw,1.1rem) clamp(.8rem,1.5vw,1.1rem) clamp(1rem,1.9vw,1.4rem);
  border-top:1px solid rgba(214,221,226,.72);
  border-right:1px solid rgba(214,221,226,.58);
  border-bottom:1px solid rgba(214,221,226,.58);
  border-radius:0 .9rem .9rem 0;
  background:
    linear-gradient(90deg, rgba(238,243,246,.42), rgba(250,250,248,.78) 22%, rgba(250,250,248,.96));
  box-shadow:none;
}
.landing-home .foyer-route-panel::before,
.landing-home .home-practical::before,
.landing-home .home-institution-depth::before{
  content:"";
  position:absolute;
  left:-5px;
  top:2rem;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--paper);
  border:1.5px solid var(--boundary);
  box-shadow:0 0 0 4px var(--paper);
}

/* Raised route cards: depth is the emphasis. Color remains a quiet edge cue. */
.landing-home .institute-route{
  min-height:12rem;
  padding:clamp(1.15rem,1.8vw,1.5rem);
  border:1px solid rgba(96,101,105,.18);
  border-radius:.72rem;
  background:rgba(250,250,248,.98);
  box-shadow:
    0 10px 22px rgba(15,21,25,.045),
    0 2px 5px rgba(15,21,25,.025),
    inset 0 1px 0 rgba(255,255,255,.88);
}
.landing-home .institute-route::before{
  width:.22rem;
  background:var(--moss);
  opacity:.32;
}
.landing-home .institute-route:hover,
.landing-home .institute-route:focus-within{
  transform:translateY(-2px);
  border-color:rgba(60,96,72,.26);
  box-shadow:
    0 15px 28px rgba(15,21,25,.07),
    0 3px 7px rgba(15,21,25,.035),
    inset 0 1px 0 rgba(255,255,255,.92);
}
.landing-home .institute-route .test-route-action{
  color:var(--navy);
}

/* Browse link stays secondary and tactile. */
.landing-home .home-browse{
  width:calc(100% - 2rem);
  max-width:76rem;
  margin-top:clamp(1.5rem,3vw,2.4rem);
  padding-left:clamp(1rem,1.9vw,1.4rem);
}
.landing-home .home-browse-link{
  background:var(--paper);
  border-color:rgba(96,101,105,.18);
  box-shadow:0 6px 14px rgba(15,21,25,.035);
}

/* Practical-result cards adopt the same quiet raised-paper system. */
.landing-home .home-practical{
  padding-left:clamp(1rem,1.9vw,1.4rem);
}
.landing-home .home-practical .card{
  border:1px solid rgba(96,101,105,.16);
  border-radius:.62rem;
  background:var(--paper);
  box-shadow:
    0 8px 18px rgba(15,21,25,.04),
    inset 0 1px 0 rgba(255,255,255,.84);
}

/* Inspection layer stays low in the hierarchy. */
.landing-home .home-institution-depth{
  padding-left:clamp(1rem,1.9vw,1.4rem);
}

/* Reconcile motion with the governed-light visual system. */
.landing-home .institute-threshold,
.landing-home .threshold-why-panel,
.landing-home .foyer-question-panel{
  animation:none !important;
  transform:none;
}

/* Intermediate width remains controlled; v0.5.50 action repair is retained. */
@media (min-width:721px) and (max-width:1100px){
  .landing-home .institute-threshold{
    min-height:21rem;
    padding:clamp(1.55rem,3.8vw,2.8rem);
  }
  .landing-home .institute-threshold h1{
    max-width:14ch;
    font-size:clamp(2.8rem,5.9vw,4.35rem);
  }
  .landing-home .threshold-why-panel h2{
    font-size:clamp(1.8rem,3.6vw,2.75rem);
  }
  .landing-home .foyer-question-panel #what-is-happening{
    max-width:11ch;
    font-size:clamp(2.7rem,5.8vw,4rem);
  }
}

/* Mobile: retain depth, reduce ornament. */
@media (max-width:720px){
  .landing-home .home-hero.institute-frontdoor{
    padding-left:.85rem;
    border-left:1.5px solid var(--soft-rail);
  }
  .landing-home .institute-threshold{
    min-height:auto;
    padding:1.5rem 1.15rem 1.7rem;
  }
  .landing-home .institute-threshold::after{
    width:3.4rem;
    right:1.15rem;
    top:1rem;
  }
  .landing-home .institute-threshold h1{
    font-size:clamp(2.55rem,12vw,3.8rem);
  }
  .landing-home .threshold-why-panel,
  .landing-home .foyer-question-panel{
    padding:1.35rem 1.05rem 1.5rem;
  }
  .landing-home .threshold-why-copy{
    grid-template-columns:1fr;
  }
  .landing-home .foyer-question-panel #what-is-happening{
    font-size:clamp(2.45rem,11.8vw,3.7rem);
  }
  .landing-home .foyer-route-panel,
  .landing-home .home-browse,
  .landing-home .home-practical,
  .landing-home .home-institution-depth{
    border-left:1.5px solid var(--soft-rail);
  }
}

/* High-contrast users should not depend on shadow or texture to perceive boundaries. */
@media (prefers-contrast:more){
  .landing-home .institute-threshold,
  .landing-home .threshold-why-panel,
  .landing-home .foyer-question-panel,
  .landing-home .institute-route,
  .landing-home .home-practical .card{
    border-color:var(--boundary);
    box-shadow:none;
  }
}


/* v0.5.51a — controlling-token fidelity */
.landing-home .institute-threshold{
  background:
    linear-gradient(rgba(23,50,77,.022) 1px, transparent 1px) 0 0 / 18px 18px,
    linear-gradient(90deg, rgba(23,50,77,.018) 1px, transparent 1px) 0 0 / 18px 18px,
    linear-gradient(135deg, var(--blue), var(--wash) 62%, var(--warm-paper));
}
.landing-home .threshold-why-panel{
  background:
    repeating-linear-gradient(0deg, rgba(96,101,105,.018) 0 1px, transparent 1px 13px),
    linear-gradient(135deg, var(--warm-paper), var(--paper));
}
.landing-home .foyer-question-panel{
  background:
    linear-gradient(rgba(60,96,72,.018) 1px, transparent 1px) 0 0 / 20px 20px,
    linear-gradient(135deg, var(--paper), var(--wash));
}


/* ==========================================================================
   v0.5.52 — Rail Clearance & Solid Surface Reconciliation
   Restore rail visibility and subtle animated station dots.
   Remove gradient-dependent surfaces from the homepage threshold system.
   Use only solid colors within the established Institute visual lexicon.
   ========================================================================== */

/* ------------------------------------------------------------
   1. Rail clearance: reserve space so cards/panels never overlap the rail.
   ------------------------------------------------------------ */
.landing-home .home-hero.institute-frontdoor{
  margin-left:clamp(1.35rem,2.2vw,2rem);
  padding-left:clamp(1.35rem,2.2vw,1.8rem);
  border-left:2px solid var(--soft-rail);
}
.landing-home .foyer-route-panel,
.landing-home .home-browse,
.landing-home .home-practical,
.landing-home .home-institution-depth{
  margin-left:clamp(1.35rem,2.2vw,2rem);
  padding-left:clamp(1.35rem,2.2vw,1.8rem);
  border-left:2px solid var(--soft-rail);
}

/* Keep the rail markers completely outside the content surfaces. */
.landing-home .home-hero.institute-frontdoor::before,
.landing-home .foyer-route-panel::before,
.landing-home .home-practical::before,
.landing-home .home-institution-depth::before{
  left:calc(-1 * clamp(1.75rem,2.4vw,2.15rem));
  z-index:5;
}

/* ------------------------------------------------------------
   2. Solid institutional surfaces: no gradients.
   ------------------------------------------------------------ */
.landing-home .institute-threshold{
  background:var(--blue);
  border:1px solid var(--soft-rail);
}
.landing-home .institute-threshold::before{
  background:none;
}
.landing-home .institute-threshold::after{
  background:var(--active-ochre);
  opacity:.34;
}

.landing-home .threshold-why-panel{
  background:var(--warm-paper);
  border:1px solid rgba(140,74,47,.14);
}
.landing-home .threshold-why-panel::after{
  background:var(--rust);
  opacity:.38;
}

.landing-home .foyer-question-panel{
  background:var(--wash);
  border:1px solid rgba(60,96,72,.13);
}
.landing-home .foyer-route-panel{
  background:var(--paper);
  border-top:1px solid rgba(214,221,226,.72);
  border-right:1px solid rgba(214,221,226,.58);
  border-bottom:1px solid rgba(214,221,226,.58);
}

.landing-home .institute-route{
  background:var(--paper);
}
.landing-home .home-browse-link{
  background:var(--paper);
}
.landing-home .home-practical .card{
  background:var(--paper);
}

/* ------------------------------------------------------------
   3. Subtle depth: retain elevation without visual drama.
   ------------------------------------------------------------ */
.landing-home .institute-threshold,
.landing-home .threshold-why-panel,
.landing-home .foyer-question-panel{
  box-shadow:
    0 12px 26px rgba(15,21,25,.045),
    0 2px 6px rgba(15,21,25,.028),
    inset 0 1px 0 rgba(255,255,255,.72);
}
.landing-home .threshold-why-copy p:last-child{
  background:var(--paper);
  box-shadow:
    0 8px 18px rgba(15,21,25,.045),
    inset 0 1px 0 rgba(255,255,255,.82);
}
.landing-home .institute-route{
  box-shadow:
    0 8px 18px rgba(15,21,25,.038),
    0 2px 5px rgba(15,21,25,.022),
    inset 0 1px 0 rgba(255,255,255,.82);
}
.landing-home .institute-route:hover,
.landing-home .institute-route:focus-within{
  box-shadow:
    0 12px 24px rgba(15,21,25,.06),
    0 3px 7px rgba(15,21,25,.03),
    inset 0 1px 0 rgba(255,255,255,.9);
}

/* ------------------------------------------------------------
   4. Rail station dots: restore restrained motion.
   Not scroll-storytelling; only a quiet pulse to indicate the live wayfinding spine.
   ------------------------------------------------------------ */
@keyframes tlri-rail-dot-pulse{
  0%, 100%{
    transform:scale(1);
    box-shadow:0 0 0 4px var(--paper), 0 0 0 5px rgba(96,101,105,.10);
  }
  50%{
    transform:scale(1.14);
    box-shadow:0 0 0 4px var(--paper), 0 0 0 8px rgba(138,93,18,.075);
  }
}
@keyframes tlri-rail-dot-active{
  0%, 100%{
    transform:scale(1);
    box-shadow:0 0 0 5px rgba(138,93,18,.08);
  }
  50%{
    transform:scale(1.18);
    box-shadow:0 0 0 8px rgba(138,93,18,.055);
  }
}

@media (prefers-reduced-motion:no-preference){
  .landing-home .home-hero.institute-frontdoor::before{
    animation:tlri-rail-dot-active 3.2s ease-in-out infinite;
    transform-origin:center;
  }
  .landing-home .foyer-route-panel::before,
  .landing-home .home-practical::before,
  .landing-home .home-institution-depth::before{
    animation:tlri-rail-dot-pulse 4.6s ease-in-out infinite;
    transform-origin:center;
  }
  .landing-home .foyer-route-panel::before{ animation-delay:.7s; }
  .landing-home .home-practical::before{ animation-delay:1.4s; }
  .landing-home .home-institution-depth::before{ animation-delay:2.1s; }
}

/* ------------------------------------------------------------
   5. Responsive rail clearance.
   ------------------------------------------------------------ */
@media (max-width:979px){
  .landing-home .home-hero.institute-frontdoor,
  .landing-home .foyer-route-panel,
  .landing-home .home-browse,
  .landing-home .home-practical,
  .landing-home .home-institution-depth{
    margin-left:1rem;
    padding-left:1.05rem;
  }

  .landing-home .home-hero.institute-frontdoor::before,
  .landing-home .foyer-route-panel::before,
  .landing-home .home-practical::before,
  .landing-home .home-institution-depth::before{
    left:-1.55rem;
  }
}

@media (max-width:640px){
  .landing-home .home-hero.institute-frontdoor,
  .landing-home .foyer-route-panel,
  .landing-home .home-browse,
  .landing-home .home-practical,
  .landing-home .home-institution-depth{
    margin-left:.65rem;
    padding-left:.9rem;
    border-left:1.5px solid var(--soft-rail);
  }

  .landing-home .home-hero.institute-frontdoor::before,
  .landing-home .foyer-route-panel::before,
  .landing-home .home-practical::before,
  .landing-home .home-institution-depth::before{
    left:-1.18rem;
  }
}

/* High-contrast and reduced-motion remain first-class. */
@media (prefers-reduced-motion:reduce){
  .landing-home .home-hero.institute-frontdoor::before,
  .landing-home .foyer-route-panel::before,
  .landing-home .home-practical::before,
  .landing-home .home-institution-depth::before{
    animation:none !important;
  }
}


/* v0.5.53 — public-layer reconciliation only; no visual redesign */
.review-route-note{
  max-width:54rem;
  margin-top:.9rem;
}
.foot .foot-links{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:760px){
  .foot .foot-links{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}


/* ==========================================================================
   v0.5.54 — Functional Wayfinding Rail
   The rail now answers: where am I, what comes next, where can I go if the
   route changes or fails. Subway theory remains internal; visitor language
   is ordinary "On this page" wayfinding.
   ========================================================================== */

/* Existing in-content rail becomes stateful rather than decorative. */
.station[data-wayfinding-section],
[data-wayfinding-section]{
  scroll-margin-top:6rem;
}
.station[data-wayfinding-section].passed::before{
  background:var(--moss);
  border-color:var(--moss);
  box-shadow:none;
}
.station[data-wayfinding-section].passed{
  border-left-color:rgba(60,96,72,.42);
}
.station[data-wayfinding-section].is-next::before{
  border-color:var(--moss);
}
.station[data-wayfinding-section][data-wayfinding-kind="transfer"]::before{
  border-radius:2px;
}
.station[data-wayfinding-section][data-wayfinding-kind="reroute"]::before{
  border-radius:1px;
  transform:rotate(45deg);
}
.station[data-wayfinding-section].here[data-wayfinding-kind="reroute"]::before{
  transform:rotate(45deg) scale(1.12);
}

@keyframes tlri-station-arrival{
  0%{box-shadow:0 0 0 0 rgba(138,93,18,.20);transform:scale(.9)}
  55%{box-shadow:0 0 0 7px rgba(138,93,18,.10);transform:scale(1.18)}
  100%{box-shadow:0 0 0 5px rgba(138,93,18,.12);transform:scale(1.12)}
}
@keyframes tlri-station-arrival-reroute{
  0%{box-shadow:0 0 0 0 rgba(138,93,18,.20);transform:rotate(45deg) scale(.9)}
  55%{box-shadow:0 0 0 7px rgba(138,93,18,.10);transform:rotate(45deg) scale(1.18)}
  100%{box-shadow:0 0 0 5px rgba(138,93,18,.12);transform:rotate(45deg) scale(1.12)}
}
@media (prefers-reduced-motion:no-preference){
  .station[data-wayfinding-section].arriving::before{
    animation:tlri-station-arrival .55s ease-out 1;
  }
  .station[data-wayfinding-section].arriving[data-wayfinding-kind="reroute"]::before{
    animation:tlri-station-arrival-reroute .55s ease-out 1;
  }
}
/* Replace v0.5.52 decorative perpetual pulsing with state-change motion. */
.landing-home .home-hero.institute-frontdoor::before,
.landing-home .foyer-route-panel::before,
.landing-home .home-practical::before,
.landing-home .home-institution-depth::before{
  animation:none !important;
}

/* Fixed desktop manifestation of the rail. It sits in the page gutter and
   does not consume content width or overlap raised surfaces. */
.page-wayfinding{
  display:none;
}
@media (min-width:1180px){
  main.has-functional-wayfinding{
    position:relative;
  }
  .page-wayfinding{
    --wf-progress:0%;
    display:flex;
    position:fixed;
    z-index:24;
    left:max(.7rem,calc((100vw - var(--max))/2 + .55rem));
    top:50%;
    transform:translateY(-50%);
    flex-direction:column;
    gap:.1rem;
    min-width:44px;
    padding:.28rem .1rem;
  }
  .page-wayfinding::before,
  .page-wayfinding::after{
    content:"";
    position:absolute;
    left:21px;
    top:22px;
    width:1px;
    pointer-events:none;
  }
  .page-wayfinding::before{
    bottom:22px;
    background:var(--soft-rail);
  }
  .page-wayfinding::after{
    height:var(--wf-progress);
    max-height:calc(100% - 44px);
    background:var(--moss);
    transition:height .28s ease;
  }

  .page-wayfinding a{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    width:44px;
    min-height:34px;
    color:var(--boundary);
    text-decoration:none;
    outline:none;
  }
  .wayfinding-hit{
    display:grid;
    place-items:center;
    width:44px;
    height:34px;
    flex:none;
  }
  .wayfinding-dot{
    display:block;
    width:8px;
    height:8px;
    border:1.5px solid var(--boundary);
    border-radius:50%;
    background:var(--paper);
    box-shadow:0 0 0 3px var(--paper);
    transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
  }
  .wayfinding-label{
    position:absolute;
    left:39px;
    top:50%;
    transform:translate(.15rem,-50%);
    width:max-content;
    max-width:9.8rem;
    padding:.32rem .46rem;
    border:1px solid var(--soft-rail);
    border-radius:2px;
    background:var(--paper);
    box-shadow:0 5px 14px rgba(15,21,25,.055);
    color:var(--boundary);
    font-family:var(--sign);
    font-size:.61rem;
    font-weight:600;
    line-height:1.25;
    letter-spacing:.01em;
    opacity:0;
    pointer-events:none;
    transition:opacity .15s ease,transform .15s ease;
  }

  .page-wayfinding a:hover .wayfinding-label,
  .page-wayfinding a:focus-visible .wayfinding-label,
  .page-wayfinding a[aria-current="true"] .wayfinding-label,
  .page-wayfinding a.is-next .wayfinding-label{
    opacity:1;
    transform:translate(.42rem,-50%);
  }
  .page-wayfinding a:focus-visible .wayfinding-hit{
    outline:2px solid var(--navy);
    outline-offset:-6px;
    border-radius:2px;
  }

  /* Passed / current / next states. */
  .page-wayfinding a.passed .wayfinding-dot{
    background:var(--moss);
    border-color:var(--moss);
  }
  .page-wayfinding a[aria-current="true"]{
    color:var(--navy);
  }
  .page-wayfinding a[aria-current="true"] .wayfinding-dot{
    background:var(--active-ochre);
    border-color:var(--active-ochre);
    box-shadow:0 0 0 4px rgba(138,93,18,.12),0 0 0 7px var(--paper);
    transform:scale(1.15);
  }
  .page-wayfinding a[aria-current="true"] .wayfinding-label{
    color:var(--navy);
    border-color:rgba(138,93,18,.28);
  }
  .page-wayfinding a.is-next .wayfinding-dot{
    border-color:var(--moss);
  }
  .page-wayfinding a.is-next .wayfinding-label{
    color:#536159;
  }

  /* A cross-guide handoff is square; a fallback/reroute is diamond.
     Shapes are supplemental; accessible labels carry the meaning. */
  .page-wayfinding a[data-wayfinding-kind="transfer"] .wayfinding-dot{
    border-radius:2px;
  }
  .page-wayfinding a[data-wayfinding-kind="reroute"] .wayfinding-dot{
    border-radius:1px;
    transform:rotate(45deg);
  }
  .page-wayfinding a[data-wayfinding-kind="reroute"][aria-current="true"] .wayfinding-dot{
    transform:rotate(45deg) scale(1.15);
  }
}

@keyframes tlri-wayfinding-arrival{
  0%{box-shadow:0 0 0 0 rgba(138,93,18,.22),0 0 0 7px var(--paper)}
  60%{box-shadow:0 0 0 8px rgba(138,93,18,.09),0 0 0 7px var(--paper)}
  100%{box-shadow:0 0 0 4px rgba(138,93,18,.12),0 0 0 7px var(--paper)}
}
@media (min-width:1180px) and (prefers-reduced-motion:no-preference){
  .page-wayfinding a.arriving .wayfinding-dot{
    animation:tlri-wayfinding-arrival .55s ease-out 1;
  }
}

/* Smaller desktops keep the ordinary in-content rail; the fixed on-page
   index appears only when there is enough gutter to avoid overlap. */
@media (max-width:1179px){
  .page-wayfinding{display:none !important}
}

@media (prefers-reduced-motion:reduce){
  .page-wayfinding::after,
  .wayfinding-dot,
  .wayfinding-label{
    transition:none !important;
    animation:none !important;
  }
}


/* ==========================================================================
   v0.5.55 — Public Purpose & Plain Wayfinding Reconciliation
   Public visitors should not need to decode the Institute's internal transit model.
   The rail remains useful as ordinary "On this page" navigation.
   ========================================================================== */

.public-mechanism{
  max-width:47rem;
  margin-top:.8rem;
  font-weight:650;
  color:var(--navy);
  line-height:1.52;
}

/* All public wayfinding markers use the same basic station shape.
   Meaning is carried by labels and state, not hidden symbolism. */
.page-wayfinding a[data-wayfinding-kind="transfer"] .wayfinding-dot,
.page-wayfinding a[data-wayfinding-kind="reroute"] .wayfinding-dot{
  border-radius:50%;
  transform:none;
}
.page-wayfinding a[data-wayfinding-kind="reroute"][aria-current="true"] .wayfinding-dot{
  transform:scale(1.15);
}
.station[data-wayfinding-section][data-wayfinding-kind="transfer"]::before,
.station[data-wayfinding-section][data-wayfinding-kind="reroute"]::before{
  border-radius:50%;
  transform:none;
}
.station[data-wayfinding-section].here[data-wayfinding-kind="reroute"]::before{
  transform:scale(1.12);
}

/* Keep the rail quiet: active and next labels remain legible, but no legend
   or metaphor is presented to the visitor. */
.page-wayfinding .wayfinding-label{
  max-width:10.5rem;
}

/* ========================================================================== */
/* v0.5.58 — Pass 3 validation repairs                                        */
/* Bounded accessibility/reflow corrections only.                             */
/* ========================================================================== */
@media (min-width:1000px){
  .top-in{flex-wrap:wrap}
  .desk-nav{flex:1 1 38rem;flex-wrap:wrap;justify-content:flex-end;min-width:0}
  .acts{flex-wrap:wrap}
  .btn{min-width:min(15rem,100%);max-width:100%}
  .doc{grid-template-columns:34% minmax(0,1fr)}
}


/* ========================================================================== */
/* v0.5.59 — Pass 4 Density, Rail & Frame Reconciliation                      */
/* Validation-triggered visual repair. No IA, route, or readiness expansion.  */
/* ========================================================================== */

/* 1. Earn the space: narrative panels size to their content and stop before
      the action surface becomes a distant destination. */
.landing-home .institute-threshold,
.landing-home .threshold-why-panel,
.landing-home .foyer-question-panel{
  width:min(100%,76rem);
  max-width:76rem;
}
.landing-home .institute-threshold{
  min-height:0;
  padding:clamp(2rem,3.4vw,3.25rem);
}
.landing-home .institute-threshold h1{
  max-width:18ch;
  font-size:clamp(2.9rem,5.15vw,5.2rem);
  line-height:.96;
}
.landing-home .institute-threshold-purpose{
  max-width:52rem;
  margin-top:clamp(.9rem,1.6vw,1.25rem);
}
.landing-home .public-mechanism{
  max-width:52rem;
  margin-top:.65rem;
}
.landing-home .threshold-why-panel{
  padding:clamp(1.55rem,2.8vw,2.55rem);
}
.landing-home .threshold-why-copy{
  margin-top:clamp(.8rem,1.4vw,1.1rem);
  gap:clamp(.8rem,2vw,1.5rem);
}
.landing-home .foyer-question-panel{
  padding:clamp(1.65rem,2.8vw,2.6rem);
}
.landing-home .foyer-question-panel #what-is-happening{
  max-width:15ch;
  font-size:clamp(2.65rem,4.4vw,4.5rem);
}
.landing-home .foyer-question-panel .home-deck{
  margin-top:clamp(.8rem,1.5vw,1.1rem);
}

/* 2. One frame language: remove extra ornamental bars/inset frames and the
      narrow color stripe that made route-card edges look half-finished. */
.landing-home .institute-threshold::before,
.landing-home .institute-threshold::after,
.landing-home .threshold-why-panel::after{
  content:none !important;
  display:none !important;
}
.landing-home .institute-route::before{
  content:none !important;
  display:none !important;
}
.landing-home .institute-threshold,
.landing-home .threshold-why-panel,
.landing-home .foyer-question-panel,
.landing-home .foyer-route-panel{
  border-color:rgba(96,101,105,.22);
  box-shadow:0 8px 22px rgba(15,21,25,.04), inset 0 1px 0 rgba(255,255,255,.74);
}
.landing-home .foyer-route-panel{
  border:1px solid rgba(96,101,105,.20);
  border-radius:.9rem;
  background:var(--paper);
}
.landing-home .institute-route{
  border-color:rgba(96,101,105,.24);
  box-shadow:0 6px 14px rgba(15,21,25,.035), inset 0 1px 0 rgba(255,255,255,.78);
}

/* 3. Wide screens use one rail only: the functional gutter rail.  The old
      in-content rail and its pseudo-dots were a second, competing frame. */
@media (min-width:1180px){
  .landing-home .home-hero.institute-frontdoor,
  .landing-home .foyer-route-panel,
  .landing-home .home-browse,
  .landing-home .home-practical,
  .landing-home .home-institution-depth{
    margin-left:0;
    border-left:0;
  }
  .landing-home .home-hero.institute-frontdoor{
    padding-left:0;
  }
  .landing-home .foyer-route-panel,
  .landing-home .home-browse,
  .landing-home .home-practical,
  .landing-home .home-institution-depth{
    padding-left:0;
  }
  .landing-home .home-hero.institute-frontdoor::before,
  .landing-home .foyer-route-panel::before,
  .landing-home .home-practical::before,
  .landing-home .home-institution-depth::before{
    content:none !important;
    display:none !important;
  }
}

/* 4. The functional rail should visibly communicate state, not merely exist. */
@media (min-width:1180px){
  .page-wayfinding{
    z-index:38;
    left:max(.65rem,calc((100vw - var(--max))/2 + .25rem));
    gap:.14rem;
  }
  .page-wayfinding::before,
  .page-wayfinding::after{
    left:21px;
    width:1.5px;
  }
  .page-wayfinding::before{
    background:rgba(96,101,105,.34);
  }
  .page-wayfinding::after{
    background:var(--moss);
  }
  .wayfinding-dot{
    width:9px;
    height:9px;
    border-width:1.5px;
    border-color:#7A858B;
    background:var(--paper);
    box-shadow:0 0 0 4px var(--paper);
  }
  .page-wayfinding a.passed .wayfinding-dot{
    background:var(--moss);
    border-color:var(--moss);
  }
  .page-wayfinding a[aria-current="true"] .wayfinding-dot{
    width:11px;
    height:11px;
    background:var(--active-ochre);
    border-color:var(--active-ochre);
    box-shadow:0 0 0 4px rgba(138,93,18,.16),0 0 0 8px rgba(138,93,18,.055),0 0 0 11px var(--paper);
    transform:none;
  }
  .page-wayfinding a.is-next .wayfinding-dot{
    border:2px solid var(--moss);
    background:var(--paper);
  }
  .page-wayfinding a.is-next .wayfinding-label{
    opacity:0;
  }
  .page-wayfinding a[aria-current="true"] .wayfinding-label{
    opacity:1;
    color:var(--navy);
    border-color:rgba(138,93,18,.32);
    font-size:.66rem;
    font-weight:700;
    transform:translate(.48rem,-50%);
  }
}

/* 5. Tablet/mobile retain the quieter in-content spine because the fixed
      gutter index is intentionally absent there. */
@media (max-width:1179px){
  .landing-home .home-hero.institute-frontdoor,
  .landing-home .foyer-route-panel,
  .landing-home .home-browse,
  .landing-home .home-practical,
  .landing-home .home-institution-depth{
    border-left-color:rgba(96,101,105,.26);
  }
}

/* 6. Keep the tightened desktop rhythm from becoming cramped on phones. */
@media (max-width:720px){
  .landing-home .institute-threshold,
  .landing-home .threshold-why-panel,
  .landing-home .foyer-question-panel{
    width:100%;
  }
  .landing-home .institute-threshold{
    padding:1.4rem 1.05rem 1.55rem;
  }
  .landing-home .institute-threshold h1{
    max-width:15ch;
    font-size:clamp(2.45rem,11vw,3.55rem);
  }
  .landing-home .threshold-why-panel,
  .landing-home .foyer-question-panel{
    padding:1.25rem 1rem 1.4rem;
  }
}

@media print{
  .page-wayfinding{display:none!important}
}

/* v0.5.59a — close the action frame and align the compact-width spine. */
@media (min-width:1180px){
  .landing-home .foyer-route-panel{
    border-left:1px solid rgba(96,101,105,.20);
    padding-left:clamp(.8rem,1.5vw,1.1rem);
  }
}
@media (max-width:1179px){
  .landing-home .home-hero.institute-frontdoor::before,
  .landing-home .foyer-route-panel::before,
  .landing-home .home-practical::before,
  .landing-home .home-institution-depth::before{
    left:-5px;
  }
}


/* ==========================================================================
   v0.5.60 — Welcome, hierarchy & rail refinement
   Bounded refinement from deployed screenshot review. No IA or service change.
   ========================================================================== */

/* 1. Begin with a human threshold before the institutional proposition. */
.landing-home .welcome-threshold{
  width:min(100%,76rem);
  display:flex;
  align-items:baseline;
  gap:.75rem 1.1rem;
  flex-wrap:wrap;
  margin:0 0 .8rem;
  padding:.05rem .2rem .05rem;
}
.landing-home .welcome-threshold p{
  margin:0;
  max-width:none;
}
.landing-home .welcome-hello{
  font-family:var(--sign);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--moss);
}
.landing-home .welcome-name{
  font-family:var(--display);
  font-size:clamp(1.25rem,1.7vw,1.62rem);
  line-height:1.08;
  color:var(--ink);
}

/* 2. The hero proposition remains primary, but its service promise is a
      distinct surface rather than merely another typographic weight. */
.landing-home .institute-threshold{
  padding-top:clamp(1.9rem,3vw,2.8rem);
}
.landing-home .public-mechanism{
  max-width:56rem;
  margin:clamp(1.15rem,1.8vw,1.45rem) 0 0;
  padding:1rem 1rem 1.05rem;
  border:1px solid rgba(96,101,105,.22);
  border-top:3px solid var(--moss);
  border-radius:.55rem;
  background:rgba(255,255,255,.58);
  color:var(--ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.landing-home .mechanism-kicker{
  margin:0 0 .75rem;
  max-width:none;
  font-family:var(--sign);
  font-size:.68rem;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--moss);
}
.landing-home .mechanism-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
}
.landing-home .mechanism-item{
  min-width:0;
  padding:.05rem .8rem .05rem;
  border-left:1px solid rgba(96,101,105,.18);
}
.landing-home .mechanism-item:first-child{
  padding-left:0;
  border-left:0;
}
.landing-home .mechanism-item:last-child{
  padding-right:0;
}
.landing-home .mechanism-item strong{
  display:block;
  margin:0 0 .26rem;
  font-family:var(--sign);
  font-size:.79rem;
  line-height:1.28;
  color:var(--navy);
}
.landing-home .mechanism-item span{
  display:block;
  font-size:.78rem;
  line-height:1.42;
  color:#445057;
}

/* 3. One wide-screen spine. The fixed functional rail carries state.
      Native station rails remain on tablet/mobile where the fixed index is hidden. */
@media (min-width:1180px){
  main.has-functional-wayfinding > section.station{
    border-left-color:transparent;
  }
  main.has-functional-wayfinding > section.station::before{
    content:none !important;
    display:none !important;
  }

  /* The dot communicates current/passed/next. Labels are discoverable on
     hover/focus instead of permanently duplicating the visible section label. */
  .page-wayfinding a[aria-current="true"] .wayfinding-label,
  .page-wayfinding a.is-next .wayfinding-label{
    opacity:0;
    transform:translate(.15rem,-50%);
  }
  .page-wayfinding a:hover .wayfinding-label,
  .page-wayfinding a:focus-visible .wayfinding-label{
    opacity:1;
    transform:translate(.42rem,-50%);
  }
  .page-wayfinding a[aria-current="true"] .wayfinding-dot{
    width:12px;
    height:12px;
    box-shadow:
      0 0 0 4px rgba(138,93,18,.17),
      0 0 0 8px rgba(138,93,18,.055),
      0 0 0 11px var(--paper);
  }
}

/* 4. The section number/name remains a local heading, no longer a second rail. */
@media (min-width:1180px){
  main.has-functional-wayfinding > section.station{
    padding-left:1.35rem;
  }
  main.has-functional-wayfinding > section.station .stop-no{
    margin-left:-.1rem;
  }
}

/* 5. Compact widths stack the four-part promise cleanly. */
@media (max-width:900px){
  .landing-home .mechanism-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.85rem 0;
  }
  .landing-home .mechanism-item:nth-child(3){
    border-left:0;
    padding-left:0;
  }
}
@media (max-width:560px){
  .landing-home .welcome-threshold{
    display:block;
    margin-bottom:.65rem;
  }
  .landing-home .welcome-name{
    margin-top:.22rem;
    font-size:1.32rem;
  }
  .landing-home .public-mechanism{
    padding:.9rem .9rem .95rem;
  }
  .landing-home .mechanism-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .landing-home .mechanism-item,
  .landing-home .mechanism-item:first-child,
  .landing-home .mechanism-item:nth-child(3){
    padding:.65rem 0;
    border-left:0;
    border-top:1px solid rgba(96,101,105,.16);
  }
  .landing-home .mechanism-item:first-child{
    padding-top:.05rem;
    border-top:0;
  }
}


/* ==========================================================================\n   v0.5.64 — Ultra targeted visual / validation-evidence repair\n   Repairs U563-01 only: wide-screen local station labels become normal-flow\n   headings when the fixed functional rail is active. No IA/route redesign.\n   ========================================================================== */
@media (min-width:1180px){
  main.has-functional-wayfinding > section.station{
    padding-left:1.35rem;
  }
  main.has-functional-wayfinding > section.station .stop-no{
    position:static;
    left:auto;
    top:auto;
    width:auto;
    display:flex;
    align-items:baseline;
    gap:.62rem;
    margin:0 0 .82rem;
  }
  main.has-functional-wayfinding > section.station .stop-no em,
  main.has-functional-wayfinding > section.station .stop-no span{
    display:inline;
    margin:0;
    line-height:1.35;
  }
  main.has-functional-wayfinding > section.station .stop-no em{
    font-size:.66rem;
  }
  main.has-functional-wayfinding > section.station .stop-no span{
    font-size:.62rem;
  }
}

/* v0.5.64 exact-candidate touch validation repair: disclosure controls remain
   comfortably operable on phone-sized viewports. */
.info-disclosure > summary{
  min-height:44px;
  box-sizing:border-box;
}


/* ==========================================================================
   v0.5.65 — Plain-language section labels
   Visible numeric section codes removed. Keep only the useful label.
   ========================================================================== */

.stop-no{
  gap:0 !important;
}

.stop-no > em{
  display:none !important;
}

/* Local label now reads as a small section kicker rather than a numbered step. */
@media (min-width:1180px){
  main.has-functional-wayfinding > section.station .stop-no{
    margin-left:0 !important;
    margin-bottom:.7rem;
  }
}

/* Do not reserve space for a removed numeric token on smaller screens either. */
@media (max-width:1179px){
  .station .stop-no{
    grid-template-columns:1fr !important;
  }
}
\n\n/* ==========================================================================\n   v0.5.66 — Redundant local-label subtraction\n   When a station already has a meaningful kicker + heading, the separate\n   local station label is omitted from the content surface. Rail labels remain.\n   ========================================================================== */\n\n.station:not(:has(> .stop-no)) > .section-kicker:first-child,\n.station:not(:has(> .stop-no)) > .edu-intake-intro:first-child,\n.station:not(:has(> .stop-no)) > .edu-reference-intro:first-child{\n  margin-top:0;\n}\n

/* ==========================================================================
   v0.5.67 — Welcome copy refinement
   ========================================================================== */

.landing-home .welcome-threshold{
  display:block;
  width:min(100%,76rem);
  margin:0 0 .85rem;
  padding:0 .2rem;
}

.landing-home .welcome-threshold p{
  margin:0;
  max-width:none;
}

.landing-home .welcome-title{
  font-family:var(--display);
  font-size:clamp(1.42rem,2vw,1.85rem);
  line-height:1.08;
  color:var(--ink);
}

.landing-home .welcome-subtitle{
  margin-top:.28rem !important;
  font-family:var(--sign);
  font-size:.84rem;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.015em;
  color:#4f5a60;
}

/* Neutralize older welcome fragments if any survive in cached/legacy markup. */
.landing-home .welcome-hello,
.landing-home .welcome-name{
  display:none !important;
}


/* ==========================================================================
   v0.5.68 — Three-lane public architecture
   Public organization by visitor intent, not Institute project structure.
   ========================================================================== */

/* A lane page can mark its parent public room when the current URL is deeper. */
.desk-nav a[aria-current="location"]{
  color:var(--navy);
  box-shadow:inset 0 -3px 0 rgba(138,93,18,.58);
}
.drawer a[aria-current="location"]{
  background:rgba(238,243,246,.58);
  box-shadow:inset 4px 0 0 rgba(138,93,18,.58);
}

/* Drawer numbering is intentionally absent. The label and description are sufficient. */
.drawer a{
  grid-template-columns:1fr !important;
}

/* Three durable public rooms. */
.home-public-lanes{
  max-width:76rem;
  width:calc(100% - 2rem);
  margin:clamp(1rem,2.4vw,1.8rem) auto;
  padding:clamp(1.45rem,3vw,2.35rem);
  border:1px solid var(--soft-rail);
  border-radius:1.15rem;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,21,25,.035);
}
.home-public-lanes h2{
  margin:.1rem 0 .45rem;
  font-size:clamp(2.2rem,4.2vw,4rem);
  line-height:1;
}
.home-public-lanes .home-deck{
  max-width:47rem;
  margin-bottom:1.25rem;
}

.public-lane-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.public-lane-grid-current{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.public-lane-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:13.5rem;
  padding:1.2rem 1.25rem 1.25rem;
  border:1px solid var(--soft-rail);
  border-top:4px solid var(--boundary);
  border-radius:.75rem;
  background:#fff;
  box-shadow:0 5px 18px rgba(15,21,25,.035);
}
.public-lane-card.lane-do{border-top-color:var(--moss);}
.public-lane-card.lane-understand{border-top-color:var(--navy);}
.public-lane-card.lane-build{border-top-color:var(--rust);}

.public-lane-card h3{
  margin:.3rem 0 .5rem;
  font-family:var(--display);
  font-size:clamp(1.45rem,2vw,1.85rem);
  font-weight:400;
  line-height:1.08;
}
.public-lane-card p{
  margin:.1rem 0 .9rem;
  font-size:.9rem;
  line-height:1.5;
  color:#435057;
}
.public-lane-card a{
  margin-top:auto;
  font-family:var(--sign);
  font-size:.78rem;
  font-weight:750;
  color:var(--navy);
  text-decoration:none;
}
.public-lane-card a:hover{
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
.public-lane-card a:focus-visible{
  outline:3px solid currentColor;
  outline-offset:4px;
  border-radius:.2rem;
}
.lane-status{
  align-self:flex-start;
  margin-bottom:.1rem;
  padding:.15rem .4rem;
  border:1px solid rgba(96,101,105,.34);
  border-radius:999px;
  font-family:var(--sign);
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#5b6469;
}

.public-architecture-strip{
  margin:1rem 0 1.3rem;
  padding:.9rem 1rem;
  border:1px solid var(--soft-rail);
  border-left:4px solid var(--moss);
  background:var(--wash);
}
.public-architecture-strip p{
  margin:0 0 .55rem;
  font-family:var(--sign);
  font-size:.76rem;
  font-weight:700;
}
.public-architecture-links{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.public-architecture-links a{
  display:inline-flex;
  align-items:center;
  min-height:2.5rem;
  padding:.55rem .75rem;
  border:1px solid rgba(96,101,105,.28);
  border-radius:999px;
  background:#fff;
  font-family:var(--sign);
  font-size:.74rem;
  font-weight:700;
  text-decoration:none;
  color:var(--navy);
}

@media(max-width:900px){
  .public-lane-grid,
  .public-lane-grid-current{
    grid-template-columns:1fr;
  }
  .public-lane-card{
    min-height:0;
  }
}
@media(max-width:560px){
  .home-public-lanes{
    width:calc(100% - 1.5rem);
    padding:1.15rem 1rem 1.25rem;
  }
}

/* v0.5.69 — Front Door Priority & Audience Separation */
.trust-nav{border-top:1px solid rgba(96,101,105,.12);background:rgba(250,251,251,.92)}
.trust-nav-in{width:min(100% - 2rem,76rem);margin:0 auto;min-height:2rem;display:flex;align-items:center;justify-content:flex-end;gap:.95rem}
.trust-nav a{font-family:var(--sign);font-size:.66rem;font-weight:650;color:#59646a;text-decoration:none}.trust-nav a:hover,.trust-nav a[aria-current="page"]{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.drawer-utilities{margin-top:.35rem;padding-top:.55rem;border-top:1px solid var(--hair)}.drawer-utility-label{display:block;padding:.35rem 1.05rem .2rem;font-family:var(--sign);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--boundary)}.drawer .drawer-utility-link{min-height:48px}
.landing-home .institute-threshold{padding-bottom:clamp(1rem,2vw,1.45rem)}.landing-home .institute-threshold-purpose{max-width:48rem;margin-bottom:.6rem}.frontdoor-boundary{max-width:52rem;margin:.35rem 0 .85rem;font-family:var(--sign);font-size:.76rem;line-height:1.45;color:#586269}.frontdoor-cta{margin:.35rem 0 0}.frontdoor-cta .btn{min-height:44px}
.landing-home .foyer-question-panel{margin-top:.85rem;padding-top:1rem;padding-bottom:.7rem}.landing-home .foyer-question-panel .home-title{max-width:54rem;margin:.08rem 0 .35rem;font-size:clamp(2.15rem,4.3vw,4rem);line-height:.98}.landing-home .foyer-question-panel .home-deck{max-width:49rem;margin-bottom:.25rem}.foyer-question-hint{margin:.25rem 0 0}
.landing-home .foyer-route-panel{margin-top:.15rem;padding-top:.6rem}.landing-home .institute-foyer-grid{gap:.7rem}.landing-home .institute-route{min-height:0;padding:1rem 1.05rem}.landing-home .institute-route strong{font-size:1rem}.landing-home .institute-route small{margin-top:.32rem;font-size:.76rem;line-height:1.42}.landing-home .test-route-action{margin-top:.55rem}
.home-secondary-capabilities{max-width:76rem;width:calc(100% - 2rem);margin:1rem auto 1.4rem;padding:clamp(1.3rem,2.5vw,2rem);border:1px solid var(--soft-rail);border-radius:1rem;background:var(--wash)}.home-secondary-capabilities h2{margin:.1rem 0 .4rem;max-width:54rem;font-size:clamp(1.9rem,3.5vw,3.2rem)}.secondary-capability-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:.8rem;margin-top:1rem}.secondary-capability-card{padding:1rem 1.05rem;border:1px solid var(--soft-rail);border-top:4px solid var(--navy);border-radius:.7rem;background:#fff}.secondary-capability-card.institutional-audience{border-top-color:var(--rust)}.secondary-capability-card h3{margin:.1rem 0 .4rem;font-family:var(--display);font-size:1.45rem;font-weight:400}.secondary-capability-card p{margin:.15rem 0 .75rem;font-size:.84rem;line-height:1.48;color:#465159}.secondary-capability-card a{font-family:var(--sign);font-size:.76rem;font-weight:750;color:var(--navy);text-decoration:none}.secondary-capability-card a:hover{text-decoration:underline;text-underline-offset:3px}
.route-orientation{margin:.85rem 0 1rem;padding:.85rem 1rem;border:1px solid rgba(52,70,79,.18);border-left:4px solid var(--moss);border-radius:.4rem;background:rgba(246,248,247,.86)}.route-orientation p{margin:.18rem 0;max-width:58rem;font-family:var(--sign);font-size:.74rem;line-height:1.48;color:#49545a}.route-orientation-you{color:var(--ink)!important;font-size:.78rem!important}.route-orientation-change{margin-top:.45rem!important}.route-orientation a{font-weight:750;color:var(--navy)}
.audience-boundary{margin:.75rem 0 0;padding:.7rem .85rem;border-left:4px solid var(--active-ochre);background:var(--wash)}.audience-boundary p{margin:0;font-family:var(--sign);font-size:.76rem}
.trust-quick{margin:1rem 0 .2rem;padding:1rem;border:1px solid var(--soft-rail);border-radius:.7rem;background:#fff}.trust-quick h2{margin:.05rem 0 .75rem;font-size:1.55rem}.trust-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.trust-quick-item{padding:.75rem .8rem;border:1px solid rgba(96,101,105,.16);background:var(--wash)}.trust-quick-item h3{margin:0 0 .25rem;font-size:.82rem}.trust-quick-item p{margin:0;font-size:.76rem;line-height:1.45}.trust-quick-links{margin:.8rem 0 0;font-family:var(--sign);font-size:.74rem}
.search-page{max-width:64rem}.search-privacy,.search-hint{max-width:50rem;font-family:var(--sign);font-size:.74rem;line-height:1.45;color:#586269}.site-search-form{max-width:50rem;margin:1.1rem 0 .6rem}.site-search-form label{display:block;margin-bottom:.35rem;font-family:var(--sign);font-size:.76rem;font-weight:750}.site-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.site-search-row input{width:100%;min-height:48px;padding:.7rem .8rem;border:1px solid rgba(70,78,84,.4);border-radius:.35rem;background:#fff;font:inherit}.site-search-row input:focus{outline:3px solid rgba(31,65,91,.28);outline-offset:2px;border-color:var(--navy)}.search-results-shell{max-width:64rem;margin:0 auto 2rem}.search-status{font-family:var(--sign);font-size:.76rem;color:#59646a}.search-results{display:grid;gap:.6rem;margin-top:.75rem}.search-result{display:block;padding:.9rem 1rem;border:1px solid var(--soft-rail);border-left:4px solid var(--navy);background:#fff;color:var(--ink);text-decoration:none}.search-result:hover{border-left-color:var(--active-ochre);background:var(--wash)}.search-result:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.search-result-lane{display:block;margin-bottom:.25rem;font-family:var(--sign);font-size:.61rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#69737a}.search-result strong{display:block;margin-bottom:.25rem;font-family:var(--display);font-size:1.22rem;font-weight:400}.search-result>span:last-child{display:block;font-size:.8rem;line-height:1.45;color:#4c575e}
@media(max-width:999px){.trust-nav{display:none}}@media(min-width:1000px){.drawer-utilities{display:none}}@media(max-width:760px){.secondary-capability-grid,.trust-quick-grid{grid-template-columns:1fr}.site-search-row{grid-template-columns:1fr}}

/* v0.5.69b — first-working-viewport closure */
.landing-home .home-hero.institute-frontdoor{padding-top:1rem!important;padding-bottom:1.15rem!important}
.landing-home .welcome-threshold{margin-bottom:.6rem!important}
.landing-home .institute-threshold{padding:1.35rem 1.7rem 1.45rem!important;min-height:0!important}
.landing-home .institute-threshold h1{max-width:20ch!important;font-size:clamp(2.55rem,3.8vw,3.7rem)!important;line-height:.95!important}
.landing-home .institute-threshold-purpose{margin-top:.65rem!important;font-size:clamp(.98rem,1.15vw,1.08rem)!important;line-height:1.48!important}
.frontdoor-boundary{margin:.3rem 0 0!important;font-size:.69rem!important;line-height:1.4!important}
.landing-home .foyer-question-panel{margin-top:.55rem!important;padding:.9rem 1.15rem .75rem!important}
.landing-home .foyer-question-panel .home-title{font-size:clamp(2rem,3.3vw,3rem)!important;line-height:1!important}
.landing-home .foyer-question-panel .home-deck{margin-top:.35rem!important;font-size:1rem!important;line-height:1.42!important}
.landing-home .foyer-route-panel{padding:.55rem!important}
.landing-home .institute-route{padding:.78rem .9rem!important}
.landing-home .institute-route small{font-size:.71rem!important;line-height:1.34!important}
.landing-home .test-route-action{margin-top:.35rem!important}
@media(max-width:720px){.landing-home .home-hero.institute-frontdoor{padding-top:.65rem!important}.landing-home .institute-threshold{padding:1.05rem .9rem 1.15rem!important}.landing-home .institute-threshold h1{font-size:clamp(2.3rem,10vw,3.15rem)!important}.landing-home .foyer-question-panel{padding:.9rem .85rem!important}.landing-home .foyer-route-panel{padding:.45rem!important}}

@media(min-width:1180px){.landing-home .institute-foyer-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.landing-home .institute-route{height:100%}}

@media(min-width:1180px){.landing-home .foyer-route-panel{padding:.4rem!important}}
