/* A continuous route through projects. The DOM keeps chronological reading order. */
.journey-hero{padding:150px 0 48px;background:var(--bg)}.hero-heading{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:end}.hero-heading h1{font-size:clamp(54px,6.8vw,91px);font-weight:500;line-height:1.02;letter-spacing:-.06em;margin:26px 0 0}.hero-heading h1 em{font-family:var(--serif);font-weight:400;color:var(--navy);letter-spacing:-.04em}.hero-person{display:flex;gap:19px;align-items:center;margin-bottom:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.hero-person>img{width:82px;height:82px;object-fit:cover;border-radius:50%;flex-shrink:0;border:5px solid var(--surface)}.hero-person p{font-size:15px;line-height:1.6;letter-spacing:-.02em}.hero-person span{display:block;font-size:11px;color:var(--accent);margin-top:8px}.hero-intro-row{display:flex;justify-content:space-between;align-items:flex-end;gap:80px;margin-top:34px}.hero-intro-row>p{font-size:17px;line-height:1.7;color:var(--muted);max-width:60ch}.hero-intro-row .pill{flex-shrink:0;margin-bottom:4px}.hero-years{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:34px 0 0;margin-top:47px;position:relative}.hero-years-label{font:9px var(--mono);color:var(--muted);align-self:center;letter-spacing:.12em}.hero-years a{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;font:11px var(--mono);color:var(--muted);min-width:46px;padding:0 7px}.hero-years a:before{content:'';position:absolute;left:50%;height:34px;width:1px;background:var(--line);bottom:100%}.hero-years a i{width:6px;height:6px;border-radius:50%;background:var(--accent);position:relative}.hero-years a:hover{color:var(--accent)}.hero-years .year-destination{color:var(--accent)}
.journey-stage{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:60px 0 40px}.timeline-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:end}.timeline-intro h2{font-size:36px;margin-bottom:0}.timeline-intro>p{font-size:14px;color:var(--muted);max-width:51ch}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:26px 0 0}.timeline-toolbar .filters{margin:0}.timeline-toolbar .filter-status{margin:0;text-align:right;font-size:9px}.timeline-shell{position:relative;margin-top:45px}.journey-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.journey-route path{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}.route-base{stroke:var(--line)}.route-progress{stroke:var(--accent);stroke-dasharray:1;stroke-dashoffset:1;opacity:.75}.timeline{list-style:none;margin:0;padding:0;position:relative}.stop{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr);align-items:center;column-gap:0;min-height:330px;padding-bottom:32px;scroll-margin-top:115px}.stop:last-child{padding-bottom:0}.stop-marker{grid-column:2;grid-row:1;align-self:center;justify-self:center;text-align:center;position:relative;z-index:3;display:flex;align-items:center;flex-direction:column;gap:10px}.stop-dot{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--surface);font:10px var(--mono);color:var(--accent);transition:border-color 200ms,background 200ms,box-shadow 200ms}.stop-dot:hover,.stop.is-current .stop-dot{border-color:var(--accent);background:var(--soft);box-shadow:0 0 0 6px var(--surface)}.stop-year{font:12px var(--mono);color:var(--accent);background:var(--surface);padding:4px 6px;line-height:1.2}.repeat-year{color:var(--muted);font-size:10px}.milestone-card{position:relative;border:1px solid var(--line);background:var(--bg);border-radius:19px;padding:25px 29px;grid-row:1;min-width:0;z-index:2;transition:border-color 200ms,box-shadow 200ms}.on-left .milestone-card{grid-column:1}.on-right .milestone-card{grid-column:3}.milestone-card:hover,.milestone-card:focus-within{border-color:var(--accent);box-shadow:0 9px 25px #0a3a6b0d}.milestone-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:22px}.milestone-kind{font:9px/1.6 var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.milestone-top time{font-size:10px;line-height:1.6;color:var(--muted);text-align:right;max-width:150px}.provider{font-size:11px;color:var(--ink);margin-bottom:7px}.provider>span{color:var(--muted)}.milestone-card h3{font-size:28px;line-height:1.13;letter-spacing:-.04em;max-width:20ch;margin-bottom:11px}.milestone-title{font-size:15px;color:var(--muted);line-height:1.5;max-width:35ch;margin-bottom:16px}.milestone-role{border-top:1px solid var(--line);padding-top:13px;color:var(--navy);font-size:11px;line-height:1.6;margin-bottom:10px}.milestone-open{border:0;background:transparent;color:var(--accent);padding:7px 0 0;font-size:11px;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.5}.milestone-open:after{content:'';position:absolute;inset:0;border-radius:19px}.milestone-open:focus-visible{outline:none}.milestone-open:focus-visible:after{outline:3px solid var(--accent);outline-offset:5px}.milestone-open span{transition:transform 200ms}.milestone-card:hover .milestone-open span{transform:translateX(3px)}.stop-scene{grid-row:1;max-width:355px;justify-self:center;width:100%;padding:20px;color:var(--accent);position:relative;z-index:1}.on-left .stop-scene{grid-column:3}.on-right .stop-scene{grid-column:1}.scene-index{font:9px var(--mono);letter-spacing:.12em;color:var(--muted);display:block}.milestone-art{padding:8px 0 0;opacity:.8}.milestone-art svg{width:100%;height:auto;max-height:130px}.stop-scene>p{font-family:var(--serif);font-size:25px;line-height:1.15;letter-spacing:-.015em;max-width:25ch;margin-top:3px;color:var(--navy)}.scene-caption{display:block;font-size:9px;color:var(--muted);margin-top:12px}.timeline-end-note{text-align:center;font-size:11px;color:var(--muted);max-width:60ch;margin:34px auto 0}
.brayn-destination{padding:40px 0 66px;border-bottom:1px solid var(--line);background:var(--soft)}.destination-marker{text-align:center;margin:0 auto 45px;max-width:240px}.destination-marker>span{display:grid;place-items:center;margin:0 auto 11px;width:45px;height:45px;border:1px solid var(--accent);border-radius:50%;background:var(--surface);color:var(--accent);font-size:22px}.destination-marker>p{font:10px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.destination-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:35px}.destination-intro h2{font-size:42px;margin-bottom:0}.destination-intro h2 em{font-family:var(--serif);font-weight:400;color:var(--navy)}.destination-intro>div>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:48ch}.destination-intro .text-link{margin-top:12px}.brayn-products-panel{padding:29px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.brayn-product-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}.brayn-product-heading .brand-logo{margin:0}.brayn-product-heading .brand-logo img{filter:none}.brayn-product-heading>p{font-size:14px;color:var(--muted)}.brayn-destination .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brayn-destination .product-card:first-child{grid-column:span 3;grid-template-columns:170px 1fr 160px;min-height:110px}.brayn-destination .product-card:first-child .read-project{grid-column:auto}.brayn-destination .product-card{min-height:190px}.brayn-destination .product-card:first-child p{margin:0}.brayn-destination .intelligence-note{grid-template-columns:190px 1fr}.brayn-destination .brayn-footnote{margin-bottom:0}.dialog-links{display:flex;gap:10px 20px;flex-wrap:wrap;margin:18px 0 23px}.dialog-links a{font-size:12px;color:var(--accent);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.dialog-credit{white-space:normal}.method-section{border-top:0}
body[data-theme="estudio"] .journey-hero{background:radial-gradient(ellipse at 83% 23%,#c8512a0c,transparent 43%),var(--bg)}body[data-theme="estudio"] .hero-heading h1 em{color:#e18a6c}body[data-theme="estudio"] .hero-person>img{border-color:#30231d}body[data-theme="estudio"] .journey-stage{background:#0c0c0d}body[data-theme="estudio"] .stop-dot,body[data-theme="estudio"] .stop-year{background:#0c0c0d}body[data-theme="estudio"] .stop.is-current .stop-dot{background:#251812;box-shadow:0 0 0 6px #0c0c0d}body[data-theme="estudio"] .milestone-card{background:#131211;border-color:#39322d;border-radius:8px}body[data-theme="estudio"] .milestone-card:hover,body[data-theme="estudio"] .milestone-card:focus-within{border-color:#ad765e;box-shadow:0 8px 25px #0002}body[data-theme="estudio"] .milestone-role{color:#dfbdac}body[data-theme="estudio"] .stop-scene>p{color:#dabba8}body[data-theme="estudio"] .brayn-destination{background:#111416;border-color:#343d43}body[data-theme="estudio"] .brayn-products-panel{background:#151719;border-color:#384249;border-radius:8px}body[data-theme="estudio"] .brayn-product-heading .brand-logo img{filter:brightness(0) invert(1)}body[data-theme="estudio"] .destination-intro h2 em{color:#e5b49a}body[data-theme="estudio"] .brayn-destination .product-card{background:#111315}body[data-theme="estudio"] .brayn-destination .product-card p{color:#bbbfc2}body[data-theme="estudio"] .brayn-destination .brayn-footnote{color:#aaaeb1}
@media(max-width:1050px){.hero-heading{grid-template-columns:1.5fr 1fr;gap:35px}.hero-heading h1{font-size:75px}.hero-person{gap:14px}.hero-person>img{width:70px;height:70px}.hero-person p{font-size:13px}.hero-intro-row{gap:45px}.hero-intro-row>p{font-size:16px}.timeline-intro{gap:50px}.timeline-intro h2{font-size:32px}.stop{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr)}.milestone-card{padding:24px}.milestone-card h3{font-size:25px}.milestone-top{gap:10px}.milestone-kind{font-size:8px}.milestone-top time{font-size:9px}.stop-scene{padding:15px}.stop-scene>p{font-size:23px}.destination-intro h2{font-size:37px}.brayn-destination .product-card:first-child{grid-template-columns:145px 1fr 140px}}
@media(max-width:850px){.journey-hero{padding-top:115px}.hero-heading{grid-template-columns:1fr;gap:28px}.hero-heading h1{font-size:75px}.hero-person{justify-self:start;min-width:340px;padding-bottom:0;border:0}.hero-person>img{width:62px;height:62px}.hero-person p{font-size:14px}.hero-person span{margin-top:4px}.hero-intro-row{gap:30px;align-items:center;margin-top:26px}.hero-intro-row>p{font-size:15px}.hero-intro-row .pill{font-size:12px;padding:11px 18px}.hero-years{margin-top:35px;gap:10px}.hero-years-label{display:none}.timeline-intro{gap:30px}.timeline-intro>p{font-size:13px}.timeline-toolbar{align-items:flex-start;flex-direction:column;gap:13px}.timeline-toolbar .filter-status{text-align:left}.timeline-shell{margin-top:30px}.stop{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);min-height:330px;padding-bottom:30px}.milestone-card{padding:20px}.milestone-top{flex-direction:column;gap:4px;margin-bottom:16px}.milestone-kind{font-size:9px}.milestone-top time{font-size:10px;text-align:left;max-width:none}.milestone-card h3{font-size:24px}.milestone-title{font-size:13px}.provider{font-size:10px}.milestone-role{font-size:11px}.stop-scene{padding:10px}.stop-scene>p{font-size:23px}.scene-caption{font-size:9px}.stop-dot{width:35px;height:35px}.stop-year{font-size:11px}.destination-intro{gap:30px}.destination-intro h2{font-size:33px}.destination-intro>div>p:not(.eyebrow){font-size:13px}.brayn-destination .product-card:first-child{grid-template-columns:130px 1fr}.brayn-destination .product-card:first-child .read-project{grid-column:span 2}.brayn-product-heading>p{font-size:12px}.brayn-products-panel{padding:24px}}
@media(max-width:650px){.timeline-intro{grid-template-columns:1fr;gap:20px}.timeline-intro>p{max-width:54ch}.timeline-shell:before{content:'';position:absolute;left:20px;top:34px;bottom:40px;width:1px;background:var(--line)}.journey-route{display:none}.stop{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;min-height:0;align-items:start;padding-bottom:24px}.stop-marker{grid-column:1;grid-row:1;gap:8px;padding-top:16px}.stop-dot{width:31px;height:31px;font-size:9px}.stop-year{font-size:9px;padding:3px 2px}.repeat-year{font-size:9px}.on-left .milestone-card,.on-right .milestone-card{grid-column:2;grid-row:1}.stop-scene{display:none}.milestone-card{padding:23px;border-radius:15px}.milestone-top{flex-direction:row;gap:15px}.milestone-top time{text-align:right;font-size:10px;max-width:135px}.milestone-card h3{font-size:27px}.milestone-title{font-size:14px}.milestone-role{font-size:12px}.milestone-open{font-size:12px}.provider{font-size:11px}.timeline-end-note{text-align:left;margin-left:58px}.destination-intro{grid-template-columns:1fr;gap:25px}.destination-intro>div>p:not(.eyebrow){font-size:14px;max-width:none}.destination-intro h2{font-size:35px}.brayn-product-heading{align-items:flex-start;flex-direction:column;gap:12px}.brayn-products-panel{padding:23px}.brayn-destination .product-grid{grid-template-columns:1fr 1fr}.brayn-destination .product-card:first-child{grid-column:span 2;display:flex;min-height:180px;gap:0;align-items:stretch}.brayn-destination .product-card:first-child p{margin-bottom:18px}.brayn-destination .intelligence-note{grid-template-columns:1fr;gap:10px}}
@media(max-width:560px){.journey-hero{padding:103px 0 35px}.hero-heading h1{font-size:54px;letter-spacing:-.055em;margin-top:22px}.hero-heading .eyebrow{font-size:9px;letter-spacing:.05em}.hero-person{min-width:0}.hero-person>img{width:55px;height:55px;border-width:3px}.hero-person p{font-size:12px}.hero-person span{font-size:10px}.hero-intro-row{display:block;margin-top:20px}.hero-intro-row>p{font-size:15px}.hero-intro-row .pill{margin-top:22px}.hero-years{gap:4px;margin-top:31px;padding-top:26px}.hero-years a{font-size:9px;min-width:0;padding:0 3px;gap:12px}.hero-years a:before{height:26px}.hero-years a i{width:5px;height:5px}.journey-stage{padding-top:39px}.timeline-intro h2{font-size:30px}.timeline-intro>p{font-size:13px}.timeline-toolbar{margin-top:22px}.timeline-toolbar .filters{gap:6px}.timeline-toolbar .filters button{font-size:10px;padding:8px 11px}.timeline-toolbar .filter-status{font-size:9px}.stop{gap:12px;grid-template-columns:38px minmax(0,1fr)}.stop-marker{padding-top:15px}.timeline-shell:before{left:18px}.milestone-card{padding:21px}.milestone-top{flex-direction:column;gap:5px}.milestone-top time{text-align:left;max-width:none}.milestone-kind{font-size:9px}.milestone-card h3{font-size:25px}.milestone-title{font-size:14px}.milestone-role{font-size:11px}.milestone-open{font-size:11px}.provider{font-size:10px}.timeline-end-note{margin-left:50px;font-size:10px}.brayn-destination{padding:33px 0 45px}.destination-marker{margin-bottom:30px}.destination-intro h2{font-size:33px}.brayn-products-panel{padding:20px}.brayn-destination .product-card{padding:16px;min-height:220px}.brayn-destination .product-card h4{font-size:20px}.brayn-destination .product-card p{font-size:11px}.brayn-destination .product-card:first-child{min-height:180px}.brayn-destination .product-card .read-project{font-size:10px}.brayn-product-heading>p{font-size:12px}.dialog-links{gap:14px;flex-direction:column;align-items:flex-start}.dialog-links a{font-size:11px}}
@media(max-width:360px){.hero-heading h1{font-size:48px}.hero-heading .eyebrow{font-size:8px;letter-spacing:.02em}.hero-years a{font-size:8px}.timeline-toolbar .filters button{padding:8px 10px;font-size:9px}.stop{grid-template-columns:31px minmax(0,1fr);gap:10px}.timeline-shell:before{left:15px}.stop-dot{width:27px;height:27px;font-size:8px}.milestone-card{padding:18px}.milestone-card h3{font-size:23px}.milestone-open{font-size:10px}.brayn-products-panel{padding:18px}.brayn-destination .product-grid{grid-template-columns:1fr}.brayn-destination .product-card:first-child{grid-column:auto}.brayn-destination .product-card{min-height:180px}.destination-intro h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.route-progress{stroke-dasharray:none;stroke-dashoffset:0}.milestone-card:hover .milestone-open span{transform:none}.journey-route path{transition:none}.intro-appear{animation:none}}
