body.viewing .site-header{height:54px;padding:0 22px}body.viewing{overflow:hidden}.viewer-workspace{padding:0 14px 12px}.viewer-controls{height:43px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px}.viewer-controls>div{display:flex;gap:14px;align-items:center}.viewer-controls p{margin:0}.viewer-controls .button{min-height:28px;padding:5px 12px}.journey-viewer{height:calc(100dvh - 109px);display:flex;flex-direction:column;min-height:400px}.journey-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0 12px;flex-shrink:0}.journey-title .eyebrow{margin:0 0 5px;font-size:9px}.journey-title h1{font-size:clamp(25px,2.7vw,40px);margin:0;line-height:1.1}.journey-audience{font-size:12px;padding:9px 14px;border:1px solid var(--line);border-radius:5px;background:var(--white);white-space:nowrap}.journey-book{min-height:0;flex:1;display:grid;grid-template-columns:minmax(210px,23%) minmax(0,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--white)}.journey-spine{background:#edf0e5;padding:10px;overflow:auto;border-right:1px solid var(--line)}.journey-spine button{width:100%;display:flex;align-items:center;gap:12px;border:0;border-radius:5px;background:transparent;text-align:left;padding:13px 8px;margin-bottom:4px;white-space:nowrap;font-size:12px;font-weight:650}.journey-spine button>span:first-child{font-size:10px;min-width:18px;color:#758878;font-weight:400}.journey-spine .beat-label{overflow:hidden;text-overflow:ellipsis}.journey-spine button[aria-current]{background:#284f43;color:white;box-shadow:inset 3px 0 #b3653e}.journey-spine button[aria-current]>span{color:inherit}.journey-page{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,2fr) minmax(135px,1fr);min-width:0;min-height:0}.journey-panes{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;overflow:hidden}.journey-panes.single{grid-template-columns:1fr}.journey-pane{min-width:0;min-height:0;padding:12px 14px;overflow:auto}.journey-pane+.journey-pane{border-left:1px solid var(--line)}.journey-pane header{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:24px;margin-bottom:8px}.journey-pane header .eyebrow{margin:0;font-size:9px}.journey-pane header .text-button{padding:0;font-size:10px;white-space:nowrap}.journey-pane h2{font-size:clamp(24px,2.2vw,34px);margin:4px 0 12px;line-height:1.06}.journey-photo{border:0;background:#edf0e5;width:100%;padding:0;border-radius:5px;overflow:hidden;display:block;margin-bottom:12px}.journey-photo img{width:100%;height:clamp(110px,20vh,220px);object-fit:cover;object-position:center 30%}.journey-quote{margin:0;}.journey-quote p{font:400 clamp(17px,1.6vw,23px)/1.45 Georgia,serif;white-space:pre-wrap;margin:0 0 10px}.journey-quote cite{font:11px/1.4 'DM Sans',sans-serif;color:var(--muted)}.overview-story .journey-quote{border-left:2px solid #b3653e;padding-left:12px}.journey-pane .training-summary{margin:8px 0!important}.journey-pane .training-source{display:none}.journey-pane .training-metric-cards{grid-template-columns:1fr 1fr!important;gap:5px!important}.journey-pane .training-metric-cards>div{padding:3px 0!important;border-radius:0!important;background:none!important}.journey-pane .training-metric-cards strong{font-size:24px!important}.journey-pane .training-metric-cards span{font-size:11px!important;color:var(--ink)!important}.journey-pane .training-weekly-chart{margin:10px 0 0!important}.journey-pane .training-weekly-chart svg{max-height:88px!important}.journey-pane .training-weekly-chart figcaption{font-size:10px!important}.journey-pane .training-weekly-chart details{font-size:10px!important}.moment-composition{display:block;min-height:0}.moment-composition.with-image{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}.journey-gallery{display:grid;gap:10px}.journey-gallery .journey-photo img{height:clamp(180px,30vh,350px)}.journey-narrative{padding-top:5px}.journey-narrative .journey-quote:before{content:'“';display:block;font:46px/.6 Georgia,serif;color:var(--orange);padding-top:10px}.journey-place{font-size:11px;color:var(--muted)}.journey-panes.has-support{grid-template-columns:1.5fr 1fr}.has-support .moment-composition.with-image{display:block}.support-context{white-space:pre-wrap;font:20px/1.5 Georgia,serif}.person-initial{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--mint);font:17px Georgia,serif}.supporter-pane{background:#f5f6ee}.supporter-pane header{justify-content:flex-start}.journey-geography{min-width:0;border-top:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:#eef1e8}.journey-geography>header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;background:var(--white);font-size:11px;color:var(--ink)}.journey-geography small{font-size:10px;color:var(--muted)}#journey-map{flex:1;min-height:0;width:100%;z-index:0}.journey-sequence{display:flex;align-items:center;gap:0;overflow:auto;flex:1;padding:15px 20px;background:radial-gradient(ellipse at 65% 120%,#dce6cf 0%,transparent 70%)}.journey-sequence button{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;border:0;background:none;min-width:130px;width:130px;align-self:stretch;justify-content:center;padding:10px;font-size:11px}.journey-sequence button:before{content:'';position:absolute;height:1px;background:#b9c6ae;left:0;right:0;top:calc(50% - 22px)}.journey-sequence button span{z-index:1;width:32px;height:32px;border:1px solid #a1b198;border-radius:50%;display:grid;place-items:center;background:var(--white)}.journey-sequence button strong{font-weight:500;height:32px;line-height:1.4}.journey-sequence button[aria-current] span{background:var(--ink);color:white;border-color:var(--ink);outline:3px solid #ba754c}.journey-map-marker{background:none;border:0}.journey-map-marker span{display:grid;place-items:center;border:2px solid white;border-radius:8px;background:#245d4c;color:white;width:34px;height:34px;font-weight:700;box-shadow:0 1px 4px #0004}.journey-map-marker .selected{outline:3px solid var(--orange)}.moment-context-editor{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:12px}.moment-context-editor .form-grid{margin-top:12px}.moment-context-editor textarea{min-height:70px}.photo-dialog{max-width:90vw;max-height:92vh;padding:12px}.photo-dialog img{max-width:85vw;max-height:78vh;object-fit:contain}.photo-dialog .dialog-head{margin:0 0 10px}.hero-real{display:block;position:relative;height:360px;border-radius:9px;overflow:hidden}.hero-real img{width:100%;height:100%;object-fit:cover}.hero-real span{position:absolute;bottom:18px;left:18px;background:var(--white);padding:12px 18px;border-radius:5px;font-size:13px}.home .hero h1{font-size:clamp(40px,5vw,68px)}
@media(max-width:760px){body.viewing{overflow:auto}.viewer-workspace{padding:0 10px 10px}.viewer-controls{height:auto;min-height:48px;flex-wrap:wrap;padding:8px 0}.viewer-controls>p{display:none}.journey-viewer{height:auto;min-height:calc(100dvh - 120px)}.journey-title h1{font-size:25px}.journey-title{padding-top:8px}.journey-book{grid-template-columns:1fr;overflow:visible}.journey-spine{display:flex;gap:6px;border:0;border-bottom:1px solid var(--line);padding:7px;overflow:auto;border-radius:10px 10px 0 0}.journey-spine button{width:auto;flex-shrink:0;margin:0;font-size:11px;padding:10px}.journey-spine .beat-label{overflow:visible}.journey-page{display:flex;flex-direction:column}.journey-panes{overflow:visible}.journey-pane{max-height:none;overflow:visible;padding:14px}.journey-pane h2{font-size:24px}.journey-photo img{height:160px}.journey-quote p{font-size:17px}.journey-geography{min-height:190px;border-radius:0 0 10px 10px;overflow:hidden}#journey-map{height:220px;flex:auto}.journey-sequence{min-height:170px}.moment-composition.with-image{grid-template-columns:1fr}.journey-panes.has-support{grid-template-columns:1fr}.journey-pane+.journey-pane{border-left:0;border-top:1px solid var(--line)}.journey-gallery .journey-photo img{height:280px}.hero-real{height:270px}.journey-audience{display:none}}
@media(max-width:480px){.journey-panes.overview{grid-template-columns:1fr}.journey-photo img{height:220px}}

@media(min-width:761px){.overview-training .journey-photo img{height:clamp(100px,15vh,150px)}}
.journey-reflection p{font:400 clamp(17px,1.6vw,23px)/1.45 Georgia,serif;white-space:pre-wrap;margin:0 0 12px}
/* Preserve the whole photograph; broad cover crops removed faces and bikes. */
.journey-photo img{object-fit:contain;object-position:center;display:block}
.overview-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.overview-photo-column,.overview-copy{min-width:0}
.overview-content .journey-photo{background:#edf0e5;margin:0}
.overview-content .journey-photo img{height:clamp(220px,34vh,400px);width:100%;object-fit:contain}
.overview-copy .journey-reflection p,.overview-copy .journey-quote p{font-size:clamp(16px,1.25vw,20px);line-height:1.42;white-space:pre-line}
.overview-copy .training-summary{margin-top:0!important}
@media(min-width:1000px){.journey-book{grid-template-columns:clamp(200px,17vw,260px) minmax(0,1fr)}.journey-pane h2{font-size:clamp(23px,2vw,30px)}}
@media(max-width:1100px){.overview-content{grid-template-columns:1fr}.overview-content .journey-photo img{height:clamp(200px,30vh,290px)}.journey-panes.overview .journey-pane{overflow:auto}}
@media(max-width:760px){.journey-panes.overview{grid-template-columns:1fr}.overview-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.journey-panes.overview .journey-pane{overflow:visible}.overview-content .journey-photo img{height:260px}}
@media(max-width:480px){.overview-content{grid-template-columns:1fr}.overview-content .journey-photo img{height:auto;max-height:360px}.journey-gallery .journey-photo img{height:auto;max-height:420px}}

/* Training has its own visual detail view; the values table is secondary. */
.training-dialog{width:min(1050px,94vw);max-width:94vw;max-height:90dvh;padding:24px;overflow:auto;color:var(--ink)}
.training-dialog h2{font:clamp(28px,4vw,44px)/1.1 Georgia,serif;margin:4px 0 20px}
.training-detail-intro.has-photo{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.training-detail-intro>img{width:100%;height:280px;object-fit:contain;background:#edf0e5;border-radius:8px}
.training-dialog .training-metric-cards{grid-template-columns:repeat(4,1fr)!important}
.training-dialog .training-weekly-chart svg{max-height:300px!important}
[data-training-week]{cursor:pointer;outline:none}[data-training-week]:hover rect,[data-training-week]:focus rect,[data-training-week][aria-pressed] rect{fill:#b3653e}
[data-training-week]:focus-visible{outline:2px solid #b3653e}
.training-week-detail{margin-top:20px;padding:20px;background:#edf0e5;border-radius:10px}
.training-week-detail h3{margin:0 0 14px;font:26px Georgia,serif}
.training-sessions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.training-sessions article{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--white);border-radius:8px}
.training-sessions strong{font:26px Georgia,serif}.training-sessions time,.training-sessions span{font-size:13px}
@media(max-width:650px){.training-detail-intro.has-photo{grid-template-columns:1fr}.training-detail-intro>img{height:230px}.training-dialog .training-metric-cards{grid-template-columns:1fr 1fr!important}.training-dialog{padding:16px}}
