/* ABS V4.28 — How ABS Routes Work */

.how-routes-hero .page-hero-bg img{object-position:center 58%;}
.how-routes-intro{padding-top:92px;padding-bottom:92px;}
.how-routes-intro-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:92px;align-items:center;}
.how-routes-manifesto p{margin:0;max-width:620px;font-family:var(--serif);font-size:clamp(3.2rem,5.7vw,6rem);line-height:.98;letter-spacing:-.045em;}
.how-routes-manifesto .accent{color:var(--moss);margin-top:18px;}
.how-routes-intro-copy{max-width:720px;}
.how-routes-intro-copy p{margin:0 0 22px;color:#46524c;font-size:1.1rem;line-height:1.75;}

.how-routes-toc-wrap{position:sticky;top:84px;z-index:48;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(244,241,233,.96);backdrop-filter:blur(12px);}
.how-routes-toc{
  justify-content:center;min-height:62px;display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:none;}
.how-routes-toc::-webkit-scrollbar{display:none;}
.how-routes-toc-label{flex:0 0 auto;margin-right:14px;font-size:.68rem;line-height:1;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.how-routes-toc a{flex:0 0 auto;padding:9px 11px;border-radius:999px;color:#5c6660;font-size:.78rem;font-weight:750;text-decoration:none;transition:.2s ease;}
.how-routes-toc a:hover,.how-routes-toc a.is-active{background:var(--forest);color:#fff;}

#lifecycle,#research,#evidence,#record,#change,#community{scroll-margin-top:162px;}

.how-routes-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:76px;align-items:end;margin-bottom:48px;}
.how-routes-section-head h2{max-width:800px;margin:9px 0 0;}
.how-routes-section-head>p{margin:0;max-width:670px;}

.route-lifecycle{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;}
.lifecycle-step{position:relative;min-height:330px;padding:30px 26px 32px;}
.lifecycle-step+.lifecycle-step{border-left:1px solid var(--line);}
.lifecycle-number{display:block;margin-bottom:42px;font-family:var(--serif);font-size:1.1rem;color:var(--moss);}
.lifecycle-kicker{display:inline-block;margin-bottom:15px;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);}
.lifecycle-step h3{margin:0 0 14px;font-size:1.45rem;}
.lifecycle-step p{margin:0;color:var(--muted);line-height:1.6;}

.route-status-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;margin-bottom:15px;border-radius:999px;font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.status-development{background:#e6ded0;color:#594f43;}
.status-beta{background:#e7d8aa;color:#514421;}
.status-verified{background:#d6e4d7;color:#234b36;}
.status-alert{background:#8a3e36;color:#fff;}

.route-alert-explainer{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;margin-top:30px;padding:30px 34px;border-radius:18px;background:var(--forest);color:#fff;}
.route-alert-explainer h3{margin:6px 0 0;color:#fff;}
.route-alert-explainer p{margin:0;color:rgba(255,255,255,.78);line-height:1.65;}

.how-routes-research-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:96px;align-items:start;}
.how-routes-research-grid h2{max-width:570px;margin:9px 0 18px;}
.research-question-list{border-top:1px solid var(--line);}
.research-question-list>div{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:21px 0;border-bottom:1px solid var(--line);}
.research-question-list span{padding-top:3px;font-family:var(--serif);color:var(--moss);}
.research-question-list p{margin:0;color:var(--muted);line-height:1.58;}
.research-question-list strong{color:var(--ink);}
.how-routes-wide-image{margin:70px 0 0;}
.how-routes-wide-image img{
  width:100%;
  height:min(54vw,650px);
  object-fit:cover;
  object-position:center 66%;
  border-radius:20px;
}
.how-routes-wide-image figcaption,.how-routes-change-grid figcaption{max-width:780px;margin:12px 0 0;color:var(--muted);font-size:.83rem;line-height:1.45;}

.evidence-head .lead{color:rgba(255,255,255,.74);}
.evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(255,255,255,.16);border-radius:20px;overflow:hidden;}
.evidence-grid article{min-height:260px;padding:30px 26px;}
.evidence-grid article+article{border-left:1px solid rgba(255,255,255,.16);}
.evidence-code{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:38px;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#e2d3a9;font-family:var(--serif);}
.evidence-grid h3{color:#fff;}
.evidence-grid p{color:rgba(255,255,255,.7);line-height:1.62;}
.how-routes-quote{max-width:980px;margin:70px 0 0 auto;padding:0 0 0 32px;border-left:2px solid #d7b96b;}
.how-routes-quote p{margin:0;color:#fff;font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.08;letter-spacing:-.035em;}

.route-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:20px;overflow:hidden;}
.route-record-grid article{padding:30px;min-height:225px;background:#fff;}
.route-record-grid article:nth-child(2),.route-record-grid article:nth-child(3),.route-record-grid article:nth-child(5),.route-record-grid article:nth-child(6){border-left:1px solid var(--line);}
.route-record-grid article:nth-child(n+4){border-top:1px solid var(--line);}
.route-record-grid span{display:block;margin-bottom:24px;color:var(--moss);font-family:var(--serif);}
.route-record-grid h3{margin-bottom:10px;}
.route-record-grid p{margin:0;color:var(--muted);line-height:1.58;}

.route-record-example{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);gap:70px;align-items:center;margin-top:72px;padding:38px;border-radius:20px;background:var(--sand);}
.route-record-example-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;}
.route-record-example h3{margin:9px 0 15px;font-size:clamp(2rem,3.2vw,3.4rem);}
.route-record-example p{color:var(--muted);line-height:1.65;}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}

.creator-routes .split{align-items:start;}
.creator-routes .lead{margin-top:0;}

.how-routes-change-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr);gap:90px;align-items:center;}
.how-routes-change-copy{max-width:700px;}
.how-routes-change-copy h2{margin:9px 0 18px;}
.how-routes-change-copy p:not(.lead){color:var(--muted);line-height:1.65;}
.how-routes-change-grid figure{margin:0;}
.how-routes-change-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;}

.community-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;}
.community-route-grid article{min-height:270px;padding:32px 30px;}
.community-route-grid article+article{border-left:1px solid var(--line);}
.community-route-number{display:block;margin-bottom:35px;color:var(--moss);font-family:var(--serif);}
.community-route-grid p{color:var(--muted);line-height:1.6;}

.how-routes-final-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:90px;align-items:start;}
.how-routes-final-grid h2{margin:9px 0 0;color:#fff;}
.how-routes-final-grid p{color:rgba(255,255,255,.72);}
.how-routes-final .btn-outline{border-color:rgba(255,255,255,.45);color:#fff;}
.how-routes-closing{margin-top:110px;padding-top:38px;border-top:1px solid rgba(255,255,255,.18);}
.how-routes-closing p{max-width:1080px;margin:0;color:#fff;font-family:var(--serif);font-size:clamp(2.4rem,4.7vw,5.2rem);line-height:1.02;letter-spacing:-.04em;}
.how-routes-closing p:first-child{
  max-width:none;
  white-space:nowrap;
  font-size:clamp(2.25rem,3.85vw,4.35rem);
}
.how-routes-closing p+p{margin-top:4px;}
.how-routes-closing p:nth-child(2){color:#e2d3a9;}

@media (max-width:1050px){
  .route-lifecycle{grid-template-columns:repeat(2,minmax(0,1fr));}
  .lifecycle-step+.lifecycle-step{border-left:0;}
  .lifecycle-step:nth-child(even){border-left:1px solid var(--line);}
  .lifecycle-step:nth-child(n+3){border-top:1px solid var(--line);}
  .evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .evidence-grid article+article{border-left:0;}
  .evidence-grid article:nth-child(even){border-left:1px solid rgba(255,255,255,.16);}
  .evidence-grid article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.16);}
}

@media (max-width:900px){
  .how-routes-intro-grid,.how-routes-section-head,.how-routes-research-grid,.route-record-example,.how-routes-change-grid,.how-routes-final-grid{grid-template-columns:1fr;gap:36px;}
  .how-routes-section-head{align-items:start;}
  .route-alert-explainer{grid-template-columns:1fr;gap:18px;}
  .route-record-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .route-record-grid article:nth-child(3),.route-record-grid article:nth-child(5){border-left:0;}
  .route-record-grid article:nth-child(even){border-left:1px solid var(--line);}
  .route-record-grid article:nth-child(n+3){border-top:1px solid var(--line);}
  .community-route-grid{grid-template-columns:1fr;}
  .community-route-grid article+article{border-left:0;border-top:1px solid var(--line);}
}

@media (max-width:700px){
  .how-routes-closing p:first-child{
    white-space:normal;
    font-size:clamp(2.2rem,9vw,3.4rem);
  }
  .how-routes-intro{padding-top:64px;padding-bottom:64px;}
  .how-routes-intro-grid{grid-template-columns:1fr;}
  .how-routes-intro-copy p{font-size:1rem;}
  .how-routes-toc-wrap{top:72px;}
  .how-routes-toc{min-height:58px;}
  .how-routes-toc-label{margin-right:8px;}
  #lifecycle,#research,#evidence,#record,#change,#community{scroll-margin-top:144px;}
  .route-lifecycle,.evidence-grid,.route-record-grid{grid-template-columns:1fr;}
  .lifecycle-step,.evidence-grid article,.route-record-grid article{min-height:0;}
  .lifecycle-step+.lifecycle-step,.lifecycle-step:nth-child(even),.evidence-grid article:nth-child(even),.route-record-grid article:nth-child(even){border-left:0;}
  .lifecycle-step:nth-child(n+2),.evidence-grid article:nth-child(n+2),.route-record-grid article:nth-child(n+2){border-top:1px solid var(--line);}
  .evidence-grid article:nth-child(n+2){border-top-color:rgba(255,255,255,.16);}
  .route-record-example{padding:22px;}
  .how-routes-wide-image img{height:62vw;min-height:320px;}
  .how-routes-closing{margin-top:76px;}
}


@media (max-width:700px){
  .how-routes-toc{
    justify-content:flex-start;
  }
}

.status-indexed{background:#dfe5e1;color:#40564a;}
