/* Public project map. All visual rules are scoped to the map route. */
#main:has(> .pm-experience){max-width:none;padding:0;min-height:0}
.pm-experience{--pm-ink:#192d34;--pm-night:#122631;--pm-night-2:#1b3541;--pm-paper:#f2ecdf;--pm-mist:#e8e8df;--pm-copper:#b86749;--pm-copper-dark:#843e2a;--pm-line:#c8c9bd;color:var(--pm-ink);background:var(--pm-paper);overflow:hidden}
.pm-experience *{box-sizing:border-box}
.pm-experience p{color:inherit;max-width:none}
.pm-experience h1,.pm-experience h2,.pm-experience h3,.pm-experience h4{color:inherit}
.pm-experience h2{font:400 clamp(2.2rem,4.2vw,4.5rem)/1.04 Editorial,Georgia,serif;letter-spacing:-.035em;margin:0}
.pm-experience a{color:inherit;text-underline-offset:.2em}
.pm-experience a:focus-visible,.pm-experience button:focus-visible{outline:3px solid #e9a57f;outline-offset:4px}
.pm-experience button{font:inherit;cursor:pointer}
.pm-eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.19em;line-height:1.35;text-transform:uppercase;margin:0 0 .9rem;color:var(--pm-copper-dark)!important}
.pm-crumbs{display:flex;align-items:center;gap:.7rem;padding:.8rem max(4vw,24px);background:#f9f5eb;border-bottom:1px solid #d4d2c5;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.pm-crumbs a{text-decoration:none}
.pm-hero{min-height:min(780px,85vh);position:relative;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.55fr);gap:5vw;align-items:end;padding:clamp(4rem,8vw,8rem) max(4vw,24px) clamp(3rem,5vw,5rem);background:radial-gradient(circle at 76% 26%,#315662 0%,transparent 29%),linear-gradient(130deg,#10242d 0%,#1b3440 48%,#2b3033 100%);color:#f8f1e7}
.pm-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 81px,#d9c3a214 82px),repeating-linear-gradient(90deg,transparent 0 12.5%,#d9c3a20e calc(12.5% + 1px));mask-image:linear-gradient(to right,transparent,black 48%);opacity:.7}
.pm-hero::after{content:"";position:absolute;width:min(52vw,690px);aspect-ratio:1;border:1px solid #d6a4864d;border-radius:50%;right:-7vw;top:-20vw;box-shadow:0 0 0 8vw #d6a4860a,0 0 0 16vw #d6a48607;pointer-events:none}
.pm-hero-copy,.pm-hero-scale{position:relative;z-index:1}
.pm-hero .pm-eyebrow{color:#d6a486!important}
.pm-hero h1{font:400 clamp(3.7rem,8vw,9rem)/.91 Editorial,Georgia,serif;letter-spacing:-.055em;max-width:1150px;margin:0 0 1.5rem}
.pm-hero h1 em{font-weight:400;color:#efc3a4}
.pm-hero-copy>p:not(.pm-eyebrow){font-size:clamp(1.15rem,1.65vw,1.5rem);line-height:1.42;max-width:720px;color:#e5e9e4}
.pm-hero-actions{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2rem}
.pm-hero-actions a{font-size:.9rem;font-weight:650;text-decoration:none;border-bottom:1px solid #dca784;padding:.55rem 0;min-height:44px}
.pm-hero-actions a:first-child{background:#eac09f;color:#172b32;border:1px solid #eac09f;padding:.6rem 1rem;border-radius:2px}
.pm-hero-scale{border-left:1px solid #c99d805a;padding-left:clamp(1.4rem,3vw,3rem);display:grid;gap:1.8rem;align-self:stretch;align-content:end}
.pm-hero-scale div{border-bottom:1px solid #c99d805a;padding-bottom:1.5rem}
.pm-hero-scale strong{display:block;font:400 clamp(4.5rem,7vw,8rem)/.83 Editorial,Georgia,serif;color:#edc1a4;letter-spacing:-.05em}
.pm-hero-scale span{display:block;font-size:.82rem;line-height:1.45;letter-spacing:.1em;text-transform:uppercase;margin-top:.8rem;color:#edf0e8}
.pm-hero-scale p{font-size:.82rem;line-height:1.45;color:#d6dedb}
.pm-introduction{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:5vw;padding:clamp(4rem,7vw,7rem) max(4vw,24px);background:#f2ecdf}
.pm-introduction h2{max-width:670px}
.pm-introduction>div{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:2vw;padding-top:1.8rem}
.pm-introduction p:not(.pm-eyebrow){font-size:1.08rem;line-height:1.6;margin:0}
.pm-introduction strong{display:block;color:var(--pm-copper-dark);font-weight:650;margin-bottom:.5rem}
.pm-journeys{padding:clamp(4rem,7vw,7rem) max(4vw,24px);background:#a9553e;color:#fff8ed}
.pm-journeys .pm-eyebrow{color:#f2c8aa!important}
.pm-journeys-heading{max-width:900px;margin-bottom:2.5rem}
.pm-journeys-heading>p:last-child{font-size:1.1rem;color:#fff1e3}
.pm-journey-layout{display:grid;grid-template-columns:minmax(225px,.35fr) minmax(0,1fr);gap:2rem;align-items:start}
.pm-journey-buttons{display:grid;border-top:1px solid #f1c6a477}
.pm-journey-buttons button{display:grid;grid-template-columns:2.1rem 1fr auto;align-items:center;gap:.7rem;min-height:70px;text-align:left;color:#fff9ef;background:transparent;border:0;border-bottom:1px solid #f1c6a477;padding:1rem .6rem;font-weight:650}
.pm-journey-buttons button span{font-size:.75rem;letter-spacing:.15em;color:#ffe1c8}
.pm-journey-buttons button b{font-weight:400;transition:transform .18s ease}
.pm-journey-buttons button[aria-pressed="true"]{background:#f8eee3;color:#412b28;padding-left:1rem}
.pm-journey-buttons button[aria-pressed="true"] span{color:#8c442e}
.pm-journey-buttons button[aria-pressed="true"] b{transform:rotate(45deg)}
.pm-journey-panel{background:#f8eee3;color:#26353a;padding:clamp(1.4rem,3vw,3.2rem);min-height:600px;box-shadow:15px 16px 0 #762f2580}
.pm-journey-panel .pm-eyebrow{color:#8c442e!important}
.pm-journey-panel h3{font:400 clamp(2rem,3.5vw,4rem)/1.04 Editorial,Georgia,serif;margin:.3rem 0 1rem;letter-spacing:-.03em}
.pm-journey-thesis{font-size:1.1rem;line-height:1.5;margin:0 0 1.4rem}
.pm-journey-panel ol{list-style:none;margin:0;padding:0;border-top:1px solid #cdbba9}
.pm-journey-panel li{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid #cdbba9}
.pm-journey-panel li>span{color:#a95139;font-size:.75rem;letter-spacing:.12em;padding-top:.3rem}
.pm-journey-panel h4{font-size:1rem;margin:0 0 .25rem}
.pm-journey-panel li p{font-size:.89rem;line-height:1.46;margin:.2rem 0 .5rem}
.pm-journey-panel li a{font-size:.82rem;font-weight:650;color:#893d2b;display:inline-block;min-height:28px}
.pm-journey-boundary{background:#ead8c7;padding:.9rem 1rem;margin:1.4rem 0 0;font-size:.88rem;line-height:1.4}
.pm-journey-boundary strong{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;margin-right:.4rem;color:#813d2c}
.pm-map-jump{display:inline-flex;align-items:center;gap:.7rem;background:transparent;color:#843e2a;border:0;border-bottom:1px solid currentColor;margin-top:1.3rem;padding:.5rem 0;min-height:44px;font-size:.88rem;font-weight:650}
.pm-map{position:relative;background:#ecece3;padding:clamp(4rem,7vw,7rem) max(4vw,24px)}
.pm-map::before{content:"";position:absolute;top:8rem;bottom:7rem;left:calc(max(4vw,24px) + 31px);width:1px;background:#a5b1ac}
.pm-map-axis{position:relative;display:flex;align-items:center;gap:1rem;margin:0 0 3rem;padding-left:70px;font-size:.72rem;letter-spacing:.17em;color:#41545a;font-weight:650}
.pm-map-axis i{width:8vw;max-width:120px;height:1px;background:#96a8a0}
.pm-layer{position:relative;margin-bottom:2rem}
.pm-layer-head{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1.4rem;align-items:start;margin-bottom:1.6rem}
.pm-layer-number{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border:1px solid #63827a;border-radius:50%;background:#e8e8df;font:400 1.5rem Editorial,Georgia,serif;color:#304954}
.pm-layer-head h2{max-width:850px}
.pm-layer-head p:last-child{font-size:1.05rem;line-height:1.45;max-width:760px;margin:.8rem 0 0}
.pm-nodes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#bfc8c1;border:1px solid #bfc8c1;margin-left:85px}
.pm-layer-02 .pm-nodes{grid-template-columns:repeat(5,minmax(0,1fr))}
.pm-layer-03 .pm-nodes{grid-template-columns:repeat(3,minmax(0,1fr))}
.pm-node{position:relative;background:#f9f7ee;min-height:215px;padding:1.3rem;transition:background .18s ease,box-shadow .18s ease}
.pm-node::before{content:"";display:block;width:22px;height:3px;background:#c4a28d;margin-bottom:1.5rem}
.pm-node.pm-lit{background:#fff9f0;box-shadow:inset 0 0 0 3px #a6573f;z-index:1}
.pm-node.pm-lit::before{background:#a6573f}
.pm-node-kind{display:block;font-size:.66rem;letter-spacing:.16em;line-height:1.3;color:#775e4f;font-weight:650}
.pm-node h3{font:400 clamp(1.25rem,1.8vw,1.8rem)/1.14 Editorial,Georgia,serif;margin:.6rem 0 .7rem}
.pm-node h3 a{text-decoration:none;border-bottom:1px solid currentColor}
.pm-node p{font-size:.82rem;line-height:1.45;margin:0;color:#3c5052}
.pm-edge{display:flex;align-items:center;gap:1rem;padding:1rem 0 2.7rem 94px;color:#526467!important;font-size:.83rem;letter-spacing:.01em;margin:0}
.pm-edge span{font-size:1.4rem;color:#a6573f}
.pm-register{background:#162e3a;color:#f2eee7;padding:clamp(4rem,7vw,7rem) max(4vw,24px)}
.pm-register .pm-eyebrow{color:#efb49a!important}
.pm-register-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);column-gap:5vw;align-items:end;margin-bottom:2rem}
.pm-register-heading .pm-eyebrow,.pm-register-heading h2{grid-column:1}
.pm-register-heading>p:not(.pm-eyebrow){grid-column:2;grid-row:1 / span 2;font-size:1.1rem;color:#d7e1de;max-width:550px}
.pm-tool-filters{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.5rem}
.pm-tool-filters button{min-height:44px;padding:.5rem .85rem;border:1px solid #8199a0;background:transparent;color:#eff1e9;font-size:.82rem}
.pm-tool-filters button[aria-pressed="true"]{background:#ebbe9f;border-color:#ebbe9f;color:#1a3038}
.pm-tool-filters button span{font-size:.7rem;margin-left:.4rem;opacity:.85}
.pm-register-heading .pm-tool-count{grid-column:1 / -1;grid-row:auto;font-size:.79rem;color:#c3d1d0;margin:1rem 0 0}
.pm-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#46616a;border:1px solid #46616a}
.pm-tool{padding:1.4rem;background:#1d3a45;min-height:300px}
.pm-tool[hidden]{display:none}
.pm-tool.pm-lit{background:#274853;box-shadow:inset 0 0 0 2px #e9aa86}
.pm-tool>span{display:block;color:#eebba2;font-size:.67rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase}
.pm-tool h3{font:400 clamp(1.25rem,1.65vw,1.7rem)/1.14 Editorial,Georgia,serif;margin:1rem 0 .7rem}
.pm-tool h3 a{text-decoration:none;border-bottom:1px solid #e6bb9e}
.pm-tool p{font-size:.86rem;line-height:1.45;color:#edf1ec;margin:0 0 1rem}
.pm-tool small{display:block;font-size:.75rem;line-height:1.46;color:#d2dcda;border-top:1px solid #57727a;padding-top:.8rem}
.pm-continuation{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(245px,.7fr);gap:4vw;align-items:end;background:#d5b39a;padding:clamp(4rem,7vw,7rem) max(4vw,24px)}
.pm-continuation h2{max-width:900px}
.pm-continuation p:not(.pm-eyebrow){font-size:1.05rem;line-height:1.5;max-width:740px}
.pm-continuation nav{display:grid;border-top:1px solid #875b4e}
.pm-continuation nav a{display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:.8rem 0;border-bottom:1px solid #875b4e;text-decoration:none;font-weight:650}
.pm-continuation nav a::after{content:"↗"}
@media (max-width:1200px){.pm-layer .pm-nodes{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-hero{grid-template-columns:minmax(0,1.2fr) minmax(260px,.6fr)}}
@media (max-width:900px){.pm-hero{grid-template-columns:1fr;min-height:0;gap:3rem}.pm-hero-scale{grid-template-columns:1fr 1fr;align-self:auto;gap:1rem;border-left:0;border-top:1px solid #c99d805a;padding:1.4rem 0 0}.pm-hero-scale div{border:0;padding:0}.pm-hero-scale p{grid-column:1/-1;margin:0}.pm-introduction{grid-template-columns:1fr}.pm-journey-layout{grid-template-columns:1fr}.pm-journey-buttons{grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid #f1c6a477}.pm-journey-buttons button{border-right:1px solid #f1c6a477}.pm-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-register-heading{display:block}.pm-register-heading>p:not(.pm-eyebrow){max-width:680px}.pm-continuation{grid-template-columns:1fr}}
@media (max-width:650px){.pm-crumbs{padding:.7rem 18px}.pm-hero,.pm-introduction,.pm-journeys,.pm-map,.pm-register,.pm-continuation{padding-left:18px;padding-right:18px}.pm-hero{padding-top:4.2rem;padding-bottom:3rem}.pm-hero h1{font-size:clamp(3.4rem,15vw,5.2rem)}.pm-hero-copy>p:not(.pm-eyebrow){font-size:1.08rem}.pm-hero-scale strong{font-size:4.2rem}.pm-hero-scale span{font-size:.68rem}.pm-introduction>div{grid-template-columns:1fr;gap:1.2rem;padding-top:0}.pm-journey-buttons{grid-template-columns:1fr}.pm-journey-buttons button{min-height:55px}.pm-journey-panel{box-shadow:7px 8px 0 #762f2580;min-height:0}.pm-map::before{left:39px;top:7rem}.pm-map-axis{padding-left:50px;flex-wrap:wrap;font-size:.62rem}.pm-layer-head{grid-template-columns:44px minmax(0,1fr);gap:.8rem}.pm-layer-number{width:44px;height:44px;font-size:1.2rem}.pm-layer-head h2{font-size:2.25rem}.pm-layer .pm-nodes{grid-template-columns:1fr;margin-left:56px}.pm-node{min-height:0;padding:1rem}.pm-node::before{margin-bottom:.6rem}.pm-node h3{margin:.35rem 0}.pm-edge{padding-left:62px;font-size:.78rem}.pm-tools{grid-template-columns:1fr}.pm-tool{min-height:0}.pm-tool-filters{gap:.35rem}.pm-tool-filters button{font-size:.76rem}.pm-continuation h2{font-size:2.5rem}}
@media (prefers-reduced-motion:reduce){.pm-experience *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{#main:has(> .pm-experience){max-width:none;padding:0}.pm-experience{background:white;color:#192d34}.pm-hero,.pm-journeys,.pm-register,.pm-continuation{background:white;color:#192d34;min-height:0;box-shadow:none}.pm-hero::before,.pm-hero::after,.pm-map::before{display:none}.pm-hero .pm-eyebrow,.pm-journeys .pm-eyebrow,.pm-register .pm-eyebrow{color:#843e2a!important}.pm-hero-copy>p:not(.pm-eyebrow),.pm-register-heading>p:not(.pm-eyebrow),.pm-tool p,.pm-tool small{color:#192d34}.pm-tool,.pm-journey-panel,.pm-node{background:white;color:#192d34;box-shadow:none;break-inside:avoid}.pm-journey-buttons button,.pm-tool-filters{display:none}.pm-tools{grid-template-columns:repeat(2,1fr);background:white}.pm-tool{border:1px solid #aaa}}
