/* Project introductions share BANDAL's existing violet studio composition. */
.project-panel{
  align-items:center;
  min-height:max(820px,100svh);
}
.labvium-panel{
  background:radial-gradient(ellipse at 77% 47%,#694b9a27,transparent 56%),#100c19;
}
.travel-panel{
  background:radial-gradient(ellipse at 77% 47%,#6663a329,transparent 56%),#100e1c;
}
.project-panel .panel-layout{
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  gap:clamp(35px,6vw,100px);
}
.project-panel .panel-copy{min-width:0;max-width:620px}
.project-app-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  margin:0 0 30px;
  border:1px solid #c9b5ef38;
  border-radius:18px;
  background:linear-gradient(140deg,#44315e,#241831);
  box-shadow:0 15px 45px #9f64db20;
}
.project-app-icon img{display:block;width:54px;height:54px;object-fit:contain}
.project-app-icon.symbol-travel{color:#e0cff5;background:linear-gradient(140deg,#594b89,#2c2147)}
.project-app-icon.symbol-travel svg{width:42px;height:42px}
.project-preview.library-preview{
  min-width:0;
  max-width:500px;
  padding:0 26px 22px;
}
.project-preview .preview-top{flex-wrap:wrap;gap:8px 16px}
.project-preview .preview-brand{font-size:25px;letter-spacing:-1px}
.project-preview .preview-subtitle{margin-top:12px;color:#b5a1c7;font-size:13px;line-height:1.7}
.research-map,.journey-map{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:400/210;
  margin:22px 0 17px;
  overflow:visible;
}
.research-map svg,.journey-map svg{display:block;width:100%;height:auto}
.research-map{
  border-radius:12px;
  background:radial-gradient(ellipse at 50% 48%,#9b72dd12,transparent 70%);
}
.research-map path,.research-map line,.journey-map path,.journey-map line{vector-effect:non-scaling-stroke}
.research-map text,.journey-map text{font-family:var(--font);letter-spacing:0}
.project-preview-caption{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px 16px;
  border-top:1px solid #c9b5ef25;
  padding-top:17px;
  color:#bba9cc;
  font-size:12px;
  line-height:1.8;
}
.journey-stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}
.journey-stops>span{min-width:0;padding-left:12px;border-left:1px solid #b99bda45}
.journey-stops small{display:block;color:#a58cbe;font:10px/1.5 Arial,var(--font);letter-spacing:.7px;margin-bottom:5px}
.journey-stops strong{display:block;color:#e4d7f1;font-size:14px;font-weight:500;line-height:1.6}
@media(min-width:721px) and (max-width:1150px){
  .masthead nav{gap:15px;font-size:11px}
  .project-panel .panel-layout{gap:35px}
  .project-preview.library-preview{padding-inline:21px}
  .project-preview .preview-brand{font-size:22px}
  .project-preview .preview-windowbar i{font-size:8px;letter-spacing:.3px}
  .journey-stops{gap:8px}
  .journey-stops>span{padding-left:8px}
  .journey-stops strong{font-size:13px}
}
@media(max-width:720px){
  .project-panel{min-height:auto;padding-top:105px;padding-bottom:100px}
  .project-panel .panel-layout{display:block}
  .project-app-icon{margin-bottom:28px}
  .project-preview.library-preview{max-width:none;margin-top:55px;padding:0 21px 20px}
  .project-preview .preview-brand{font-size:24px}
  .project-preview .preview-windowbar i{font-size:8px;letter-spacing:.3px}
  .project-preview .preview-subtitle{font-size:13px}
  .research-map,.journey-map{margin:22px 0 18px}
  .journey-stops{gap:8px}
  .journey-stops>span{padding-left:8px}
  .journey-stops small{font-size:9px;letter-spacing:.3px}
  .journey-stops strong{font-size:13px}
  .project-preview-caption{font-size:12px}
}
@media(max-width:360px){
  .project-preview.library-preview{padding-inline:16px}
  .project-preview .preview-brand{font-size:22px}
  .project-preview .preview-windowbar i{font-size:7px}
  .journey-stops{gap:6px}
  .journey-stops>span{padding-left:6px}
  .journey-stops strong{font-size:12px}
}
.motion-paused .project-preview,.motion-reduced .project-preview{translate:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){
  .project-preview.library-preview{translate:none!important;transform:none!important}
}
