/* The pilot journey: calm surfaces, readable controls, and content-led cards. */
.journey-shell{--j-bg:#f5f6f3;--j-surface:#fff;--j-ink:#183b3f;--j-muted:#627577;--j-line:#dde5e1;--j-soft:#ecf1ee;--j-accent:#a7442c;--j-progress:#337b74;--j-success:#277357;color:var(--j-ink);max-width:1440px;margin:auto;font-family:Inter,system-ui,sans-serif}
.dark .journey-shell{--j-bg:#152b2e;--j-surface:#20393d;--j-ink:#eef2e8;--j-muted:#b1c4c4;--j-line:#385156;--j-soft:#2a4448;--j-accent:#e2a087;--j-progress:#b8dac8;--j-success:#9ed4b6}
body:has(.journey-shell){background:var(--journey-page,#f5f6f3)}
.dark body:has(.journey-shell),body.dark:has(.journey-shell){background:#152b2e}
.journey-shell *{box-sizing:border-box}
.journey-shell h1,.journey-shell h2,.journey-shell h3{font-family:inherit;letter-spacing:-.025em;line-height:1.2}
.journey-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:12px 0 26px}
.journey-header h1{font-size:clamp(28px,3vw,40px);font-weight:600;margin:4px 0 10px}
.journey-eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--j-muted)}
.journey-subtitle{font-size:15px;color:var(--j-muted);max-width:52ch;line-height:1.6}
.journey-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.journey-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:600;background:var(--j-soft);color:var(--j-ink);border:1px solid transparent;text-decoration:none;cursor:pointer}
.journey-button:hover{border-color:var(--j-line);filter:brightness(.97)}
.journey-button.primary{background:#a7442c;color:#fff}
.journey-button.quiet{background:transparent;border-color:var(--j-line)}
.journey-nav{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--j-line);margin-bottom:24px;padding-bottom:8px}
.journey-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border-radius:10px;font-size:14px;color:var(--j-muted);font-weight:600;text-decoration:none}
.journey-nav a[aria-current=page]{color:var(--j-ink);background:var(--j-soft)}
.journey-nav a:hover{color:var(--j-ink)}
.journey-stats{display:flex;gap:28px;flex-wrap:wrap;margin:0 0 26px}
.journey-stat{display:flex;align-items:baseline;gap:8px;color:var(--j-muted);font-size:13px}
.journey-stat strong{color:var(--j-ink);font-size:23px;letter-spacing:-.03em;font-weight:600;font-variant-numeric:tabular-nums}
.journey-toolbar{margin-bottom:28px;display:flex;flex-direction:column;gap:14px}
.journey-filter-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.journey-field{display:flex;flex-direction:column;gap:6px;color:var(--j-muted);font-size:12px;min-width:140px}
.journey-field.search{flex:1;min-width:200px}
.journey-shell input,.journey-shell select{font:inherit;font-size:14px;color:var(--j-ink);background:var(--j-surface);border:1px solid var(--j-line);border-radius:12px;min-height:44px;padding:10px 13px;max-width:100%;width:100%}
.journey-shell input::placeholder{color:var(--j-muted)}
.journey-shell :focus-visible{outline:3px solid var(--j-progress);outline-offset:3px}
.journey-pills{display:flex;flex-wrap:wrap;gap:7px}
.journey-pills button{min-height:40px;border-radius:24px;padding:8px 15px;background:transparent;border:1px solid var(--j-line);color:var(--j-muted);font-size:13px;font-weight:600;cursor:pointer}
.journey-pills button[aria-pressed=true]{background:var(--j-ink);border-color:var(--j-ink);color:var(--j-bg)}
.journey-more{position:relative}
.journey-more summary{list-style:none;cursor:pointer}
.journey-more summary::-webkit-details-marker{display:none}
.journey-more[open] .journey-filter-row{margin-top:14px;padding:16px;background:var(--j-soft);border-radius:14px}
.journey-section{margin-bottom:32px}
.journey-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 16px}
.journey-section-head h2{font-size:19px;font-weight:600}
.journey-section-head span{font-size:12px;color:var(--j-muted)}
.journey-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:20px;align-items:start}
.journey-card{padding:24px;border:1px solid var(--j-line);border-radius:22px;background:var(--j-surface);display:flex;flex-direction:column;gap:18px;min-width:0;box-shadow:0 4px 16px #06262a03}
.journey-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.journey-card h3{font-size:21px;font-weight:600;margin:5px 0 0;overflow-wrap:anywhere}
.journey-art{width:72px;height:72px;object-fit:contain;flex-shrink:0}
.journey-description{font-size:14px;color:var(--j-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.journey-progress{margin-top:auto;display:grid;gap:9px}
.journey-progress-label{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--j-muted)}
.journey-progress-label strong{color:var(--j-ink);font-weight:600}
.journey-meter{height:6px;border-radius:6px;background:var(--j-soft);overflow:hidden}
.journey-meter>span{display:block;height:100%;background:var(--j-progress);border-radius:6px}
.journey-status{font-size:12px;color:var(--j-success);font-weight:600}
.journey-status.muted{color:var(--j-muted)}
.journey-milestones{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;padding-top:4px}
.journey-milestone{display:flex;flex-direction:column;gap:5px;text-align:left;font-size:12px;border:1px solid var(--j-line);border-top-width:3px;box-shadow:0 2px 6px #06262a0d;padding:12px 0 0;color:var(--j-muted);min-height:65px;cursor:pointer;background:var(--j-surface)}
.journey-milestone.earned{border-top-color:var(--j-success)}
.journey-milestone.next{border-top-color:var(--j-accent)}
.journey-milestone strong{color:var(--j-ink);font-weight:600}
.journey-card .journey-button{width:100%}
.journey-empty{padding:60px 24px;text-align:center;background:var(--j-surface);border:1px dashed var(--j-line);border-radius:22px}
.journey-empty h2{font-size:22px;font-weight:600;margin-bottom:10px}
.journey-empty p{color:var(--j-muted);margin-bottom:20px}
.journey-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:18px}
.journey-gallery-card{display:flex;flex-direction:column;gap:12px;background:var(--j-surface);border:1px solid var(--j-line);border-radius:20px;padding:18px;text-align:left;min-width:0;position:relative;color:var(--j-ink)}
button.journey-gallery-card{cursor:pointer;width:100%}
.journey-gallery-card:hover{border-color:var(--j-progress)}
.journey-gallery-art{height:155px;width:100%;object-fit:contain;padding:8px}
.journey-gallery-card h3,.journey-gallery-card strong{font-size:15px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.journey-gallery-card p,.journey-gallery-card time{font-size:12px;color:var(--j-muted);line-height:1.5}
.journey-gallery-card .journey-stamp-link{display:block;text-align:left;width:100%}
.journey-stamp-link img{background:#fbfaf4;border-radius:12px}
.journey-tag{display:inline-flex;align-self:flex-start;font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;background:var(--j-soft);color:var(--j-muted)}
.journey-tag.earned{color:var(--j-success)}
.journey-insights{margin-top:32px;border-top:1px solid var(--j-line);padding-top:20px}
.journey-insights>summary{font-size:16px;font-weight:600;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px}
.journey-insights>summary::after{content:'+';margin-left:auto;color:var(--j-muted)}
.journey-insights[open]>summary::after{content:'−'}
@media(max-width:640px){.journey-header{align-items:flex-start;flex-direction:column;gap:14px}.journey-header h1{font-size:30px}.journey-stats{gap:16px}.journey-stat{flex-direction:column;gap:2px}.journey-field{flex:1;min-width:120px}.journey-field.search{flex-basis:100%}.journey-nav a{padding:9px 12px;font-size:13px}.journey-card{padding:20px}.journey-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.journey-gallery-card{padding:12px}.journey-gallery-art{height:125px}.journey-actions{width:100%}.journey-art{width:62px;height:62px}}
@media(prefers-reduced-motion:no-preference){.journey-button,.journey-gallery-card{transition:border-color .15s,background .15s}}
/* Detail surfaces use the same quiet palette as the galleries. */
body:has(.journey-shell) [data-avgo-modal-panel]{background:#fff;border-color:#dde5e1;border-radius:24px;color:#183b3f}
.dark body:has(.journey-shell) [data-avgo-modal-panel]{background:#20393d;border-color:#385156;color:#eef2e8}
body:has(.journey-shell) [data-avgo-modal-panel] h3{font-family:Inter,system-ui,sans-serif;letter-spacing:-.025em}
body:has(.journey-shell) [data-avgo-modal-panel] img{max-width:100%}
.journey-detail-hero{display:flex;align-items:center;gap:20px;text-align:left;padding-right:20px}
.journey-detail-hero img{width:100px;height:100px;object-fit:contain;flex-shrink:0}
.journey-detail-hero h2{font-family:Inter,system-ui,sans-serif;font-size:24px;font-weight:600;line-height:1.25}
@media(max-width:480px){.journey-detail-hero{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.journey-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.journey-nav a{justify-content:center;padding:8px 3px;font-size:12px}.journey-pills{gap:5px}.journey-pills button{font-size:12px;padding:8px 11px}}
.journey-art-placeholder{display:grid;place-items:center;height:155px;background:var(--j-soft);border-radius:12px;color:var(--j-muted);font-size:12px}.journey-art-placeholder[hidden]{display:none}
.journey-tier-art{width:64px;height:64px;object-fit:contain;align-self:center;margin:4px 0 8px}.journey-milestone{padding:12px 8px;border-radius:10px;min-width:0}.journey-milestone.earned{background:color-mix(in srgb,var(--j-success) 9%,transparent)}.journey-milestone.next{background:color-mix(in srgb,var(--j-accent) 7%,transparent)}.journey-milestone:hover{box-shadow:0 4px 12px #06262a18;border-left-color:var(--j-muted);border-right-color:var(--j-muted);border-bottom-color:var(--j-muted)}

/* Tier families need room for their milestones; individual cards size to content. */
.journey-progression-list{display:grid;gap:20px}
.journey-progression-list .journey-milestones{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}
.journey-progression-list .journey-progress{margin-top:0}
.journey-progression-list .journey-milestone{padding:14px;gap:8px}
@media(max-width:640px){.journey-progression-list .journey-milestones{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Passport journal and earned-badge display cases. */
.journey-passport-gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));align-items:start}
.journey-gallery-card{box-shadow:0 3px 12px #06262a0a}
.journey-entry-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}
.journey-route{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--j-line);padding-bottom:12px}.journey-route strong{font-size:23px;letter-spacing:.035em}.journey-route>span{color:var(--j-muted)}
.journey-passport-gallery .journey-gallery-art{height:180px;background:var(--j-soft)}
.journey-entry-action{margin-top:4px;justify-content:space-between;font-size:13px}
.journey-badge-gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));align-items:stretch}
.journey-badge-stage{display:block;background:linear-gradient(145deg,var(--j-soft),var(--j-surface));border:1px solid var(--j-line);border-radius:14px;padding:10px;width:100%}
.journey-badge-stage .journey-gallery-art{height:170px;padding:8px;filter:drop-shadow(0 3px 3px #06262a15)}
.journey-gallery-footer{display:flex;flex-direction:column;gap:6px;margin-top:auto;border-top:1px solid var(--j-line);padding-top:12px;width:100%}
.journey-open-label{display:flex;justify-content:space-between;font-size:12px;font-weight:600;margin-top:5px}
@media(max-width:640px){.journey-badge-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-badge-stage{padding:4px}.journey-badge-stage .journey-gallery-art{height:130px}.journey-passport-gallery{grid-template-columns:1fr}}
.journey-family{display:block;padding:16px 20px}.journey-family-summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none}.journey-family-summary::-webkit-details-marker{display:none}.journey-family-thumb{width:48px;height:48px;object-fit:contain}.journey-family-summary strong{font-size:17px}.journey-family-meta{display:block;font-size:12px;color:var(--j-muted);margin-top:5px}.journey-family-toggle{margin-left:auto;font-size:22px}.journey-family[open] .journey-family-toggle{transform:rotate(45deg)}.journey-family-content{display:grid;gap:18px;margin-top:20px;padding-top:18px;border-top:1px solid var(--j-line)}
.journey-continue{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 22px;font-size:12px}.journey-continue>strong{color:var(--j-muted);font-weight:500}.journey-continue button{display:flex;gap:12px;padding:9px 12px;border:1px solid var(--j-line);border-radius:10px;background:var(--j-surface);min-height:40px}.journey-continue button span{color:var(--j-progress);font-weight:600}
.journey-active-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.journey-active-filters:empty{display:none}.journey-active-filters a{font-size:12px;padding:8px 12px;border:1px solid var(--j-line);border-radius:20px;display:flex;gap:10px;align-items:center;background:var(--j-soft)}.journey-active-filters .journey-clear-filters{background:transparent;border-color:transparent;text-decoration:underline}
.journey-month{margin-bottom:28px}.journey-month>h3{font-size:15px;font-weight:600;color:var(--j-muted);margin:0 0 12px}.journey-view-switch{display:flex;gap:3px;border:1px solid var(--j-line);border-radius:10px;padding:3px}.journey-view-switch button{padding:8px 12px;border-radius:7px;font-size:12px}.journey-view-switch [aria-pressed=true]{background:var(--j-soft);font-weight:600}
.journey-passport-entries.is-list .journey-gallery{grid-template-columns:1fr}.journey-passport-entries.is-list .journey-gallery-card{display:grid;grid-template-columns:100px 1fr auto;gap:8px 16px;align-items:center;padding:14px}.journey-passport-entries.is-list .journey-stamp-link{grid-column:1;grid-row:1 / span 5}.journey-passport-entries.is-list .journey-gallery-art,.journey-passport-entries.is-list .journey-art-placeholder{height:95px}.journey-passport-entries.is-list .journey-route{border:0;padding:0}.journey-passport-entries.is-list .journey-route strong{font-size:17px}.journey-passport-entries.is-list .journey-entry-action{grid-column:3;grid-row:1 / span 5;width:auto}.journey-passport-entries.is-list .journey-entry-meta,.journey-passport-entries.is-list .journey-tag,.journey-passport-entries.is-list .journey-gallery-card>div:not(.journey-entry-meta),.journey-passport-entries.is-list .journey-description{grid-column:2}
.journey-detail-hero{flex-direction:column!important;text-align:center;align-items:center!important}.journey-detail-hero img{width:220px!important;height:220px!important;object-fit:contain}.journey-detail-tiers{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.journey-detail-tiers button{padding:9px 12px;border-radius:12px;border:1px solid #9baead;font-size:12px}.journey-detail-tiers [aria-pressed=true]{background:#dcebe4;color:#183b3f;font-weight:600}
@media(max-width:640px){.journey-passport-entries.is-list .journey-gallery-card{grid-template-columns:70px 1fr}.journey-passport-entries.is-list .journey-entry-action{grid-column:2;grid-row:auto}.journey-passport-entries.is-list .journey-gallery-art,.journey-passport-entries.is-list .journey-art-placeholder{height:70px}.journey-detail-hero img{width:170px!important;height:170px!important}}
.journey-zoom-trigger{display:flex;flex-direction:column;align-items:center;margin:auto;cursor:zoom-in;max-width:100%;height:100%;gap:6px}.journey-zoom-trigger>span{font-size:12px;text-decoration:underline}.journey-zoom-trigger img{max-height:calc(100% - 24px);object-fit:contain}.journey-badge-viewer{border:1px solid #627577;border-radius:22px;padding:24px;max-width:95vw;width:800px;max-height:94dvh;background:#f5f6f3;color:#183b3f;box-shadow:0 20px 90px #0005}.journey-badge-viewer::backdrop{background:#061a21b8;backdrop-filter:blur(5px)}.journey-badge-viewer h2{font-size:20px;text-align:center;margin:14px 60px}.journey-badge-viewer img{display:block;width:100%;height:70dvh;object-fit:contain}.journey-viewer-close{position:absolute;right:18px;top:14px;padding:10px 14px;border:1px solid #627577;border-radius:12px;background:white}.dark .journey-badge-viewer{background:#20393d;color:#eef2e8}.dark .journey-viewer-close{background:#152b2e;color:#eef2e8}
.journey-active-filters:not(:has(a)){display:none}.journey-passport-entries.is-list .journey-gallery-card>.journey-tag{justify-self:start}.journey-family-summary:focus-visible,.journey-view-switch button:focus-visible{outline:2px solid var(--j-accent);outline-offset:4px}[data-badge-zoom]{cursor:zoom-in}
