:root{
  --font:'Wix Madefor Display','Segoe UI',Arial,sans-serif;
  --paper:#f5f6ef;
  --white:#fff;
  --ink:#18221d;
  --muted:#5d665e;
  --green:#1b4034;
  --lime:#c5f36d;
  --mint:#e3f4d0;
  --sand:#eeede4;
  --lavender:#e6e9fa;
  --peach:#faecda;
  --line:#dcdfd5;
  --radius:30px;
  --page:1184px;
  --ease:cubic-bezier(.22,1,.36,1)
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:108px
}
body{
  margin:0;
  color:var(--ink);
  background:var(--white);
  font:400 16px/1.6 var(--font);
  -webkit-font-smoothing:antialiased
}
a{
  color:inherit;
  text-decoration:none
}
button{
  font:inherit;
  cursor:pointer
}
button:focus-visible,a:focus-visible,summary:focus-visible{
  outline:3px solid #607e2c;
  outline-offset:5px
}
h1,h2,h3,p{
  margin-top:0
}
h1,h2,h3{
  font-weight:400
}
h1,h2{
  letter-spacing:-.045em
}
h2{
  font-size:clamp(36px,3.55vw,52px);
  line-height:1.1;
  margin-bottom:24px
}
h3{
  line-height:1.15;
  letter-spacing:-.025em
}
.wrap{
  width:min(var(--page),calc(100% - 96px));
  margin-inline:auto
}
.section{
  padding-block:94px
}
.eyebrow{
  font-size:11px;
  font-weight:600;
  letter-spacing:1.3px;
  margin-bottom:25px
}
.header{
  position:sticky;
  top:0;
  z-index:30;
  background:#fffffff0;
  border-bottom:1px solid #18221d0d;
  backdrop-filter:blur(16px)
}
.nav-wrap{
  width:min(1280px,calc(100% - 80px));
  height:82px;
  display:flex;
  align-items:center;
  gap:35px;
  margin:auto
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:25px;
  font-weight:600;
  line-height:1;
  letter-spacing:-1px
}
.brand-caption{
  display:block;
  font-size:8px;
  font-weight:500;
  letter-spacing:1.4px;
  margin-top:7px
}
.header nav:not(.mobile-menu){
  display:flex;
  gap:30px;
  margin-left:auto;
  font-size:14px
}
.header nav a:hover{
  color:#608027
}
.button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  min-height:48px;
  padding:10px 12px 10px 24px;
  border-radius:999px;
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  transition:background .2s,color .2s;
  white-space:nowrap;
  border:0
}
.primary{
  background:var(--lime);
  color:var(--ink)
}
.primary:hover{
  background:#d5ff88
}
.dark{
  background:var(--green);
  color:var(--white)
}
.dark:hover{
  background:#295846
}
.arrow-circle{
  display:flex;
  justify-content:center;
  align-items:center;
  border-radius:50%;
  background:var(--green);
  color:var(--lime);
  width:29px;
  height:29px;
  font-size:19px;
  font-weight:400;
  transition:transform .2s
}
.dark .arrow-circle{
  background:var(--lime);
  color:var(--green)
}
.button:hover .arrow-circle{
  transform:rotate(35deg)
}
.nav-cta{
  min-height:42px;
  font-size:12px;
  padding:7px 8px 7px 19px;
  gap:25px
}
.nav-cta .arrow-circle{
  height:27px;
  width:27px
}
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  padding:10px
}
.menu-toggle span{
  display:block;
  height:1px;
  background:var(--ink);
  margin-block:6px
}
.mobile-menu{
  padding:10px 24px 24px
}
.mobile-menu:not([hidden]){
  display:grid;
  gap:15px
}
.hero{
  background:var(--paper);
  overflow:hidden
}
.hero-inner{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:70px;
  min-height:660px;
  align-items:center;
  padding-block:58px 60px
}
.hero-copy{
  position:relative;
  z-index:1
}
.hero h1{
  font-size:clamp(50px,4.5vw,67px);
  line-height:1.09;
  margin-bottom:28px;
  max-width:650px
}
.highlight{
  background:var(--lime);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:0 .12em .04em;
  margin-left:-.12em
}
.hero-description{
  font-size:19px;
  line-height:1.55;
  max-width:440px;
  margin-bottom:31px;
  color:#414d43
}
.hero-update{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:25px;
  font-size:10px;
  color:var(--muted)
}
.hero-update time{
  display:block;
  font-size:11px;
  color:var(--ink)
}
.live-dot{
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#4e7654;
  flex-shrink:0
}
.hero-media{
  position:relative;
  align-self:stretch;
  min-height:510px;
  border-radius:0 0 34px 34px;
  overflow:hidden;
  margin-right:calc((min(var(--page),100vw - 96px) - 100vw)/2);
  background:#ccd5cd
}
.hero-media:before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:52px;
  height:74px;
  background:var(--paper);
  border-radius:0 0 20px 0;
  z-index:1
}
.hero-media img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
  object-position:58% center
}
.hero-media:after{
  content:'';
  position:absolute;
  inset:55% 0 0;
  background:linear-gradient(transparent,#0b2418c9)
}
.photo-caption{
  position:absolute;
  bottom:28px;
  left:32px;
  right:32px;
  z-index:2;
  color:white;
  display:flex;
  align-items:center;
  gap:13px;
  line-height:1.3;
  font-size:21px;
  letter-spacing:-.6px
}
.photo-caption strong{
  font-weight:400;
  color:#d2f49d
}
.caption-mark{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #ffffff66;
  border-radius:50%;
  font-size:24px
}
.photo-label{
  margin-left:auto;
  font-size:9px;
  letter-spacing:1px;
  line-height:1.65;
  text-align:right
}
.focus-band{
  background:var(--paper);
  border-top:1px solid #dfe3d6;
  border-bottom:1px solid #e8eade
}
.focus{
  display:flex;
  align-items:center;
  gap:50px;
  min-height:94px;
  padding-block:20px
}
.focus h2{
  font-size:13px;
  font-weight:500;
  letter-spacing:0;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:9px;
  margin:0
}
.focus ol{
  display:flex;
  justify-content:space-between;
  flex:1;
  list-style:none;
  margin:0;
  padding:0;
  gap:25px;
  font-size:13px
}
.focus li{
  display:flex;
  align-items:center;
  gap:25px
}
.focus li:before{
  content:'↗';
  font-size:20px;
  color:#647954
}
.focus li:first-child:before{
  content:'✓';
  font-size:15px
}
.overview{
  padding-bottom:80px
}
.overview-heading{
  max-width:730px
}
.overview-heading h2{
  margin-bottom:20px
}
.overview-heading>p:last-child{
  max-width:620px;
  font-size:18px;
  color:var(--muted);
  line-height:1.6;
  margin-bottom:40px
}
.status-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
}
.status-stat{
  min-height:207px;
  border-radius:var(--radius);
  padding:27px 30px;
  display:flex;
  flex-direction:column;
  transition:transform .25s var(--ease)
}
.status-stat:hover{
  transform:translateY(-4px)
}
.stat-complete{
  background:var(--mint)
}
.stat-active{
  background:var(--lime)
}
.stat-planned{
  background:var(--green);
  color:white
}
.stat-label{
  font-size:13px
}
.status-stat strong{
  font-size:68px;
  line-height:1;
  font-weight:400;
  letter-spacing:-4px;
  margin-block:17px 13px
}
.status-stat>span:last-child{
  font-size:15px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px
}
.status-stat>span:last-child>span{
  font-size:22px
}
.roadmap{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:75px;
  padding-top:45px;
  padding-bottom:100px;
  align-items:start
}
.roadmap-intro{
  position:sticky;
  top:125px
}
.roadmap-intro>p:not(.eyebrow){
  font-size:17px;
  color:var(--muted);
  max-width:290px;
  line-height:1.65
}
.roadmap-intro h2{
  margin-bottom:22px
}
.filters{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-block:26px 30px;
  max-width:290px
}
.filters button{
  font-size:12px;
  border:1px solid var(--line);
  padding:8px 14px;
  min-height:40px;
  border-radius:999px;
  background:transparent;
  color:var(--ink);
  transition:background .2s
}
.filters button:hover{
  background:var(--mint)
}
.filters button[aria-pressed=true]{
  background:var(--green);
  color:white;
  border-color:var(--green)
}
.filters span{
  margin-left:7px;
  opacity:.6
}
.roadmap-intro p.roadmap-note{
  font-size:12px;
  color:var(--ink);
  margin-bottom:25px
}
.roadmap-note span{
  color:var(--muted)
}
.text-button{
  border:0;
  border-bottom:1px solid var(--ink);
  padding:5px 0;
  background:none;
  display:inline-flex;
  gap:38px;
  font-size:13px
}
.text-button span{
  font-size:18px
}
.workstream-area{
  min-width:0
}
.timeline{
  padding-bottom:4px
}
.workstream{
  background:var(--sand);
  border-radius:var(--radius);
  padding:32px;
  margin-bottom:24px;
  position:sticky;
  top:calc(108px + var(--index,0)*14px);
  scroll-margin-top:128px;
  transform-origin:top;
  isolation:isolate
}
.workstream[hidden]{
  display:none
}
.workstream#documents{
  background:var(--mint)
}
.workstream#cruise{
  background:var(--lavender)
}
.workstream#audit{
  background:var(--peach)
}
.stream-date{
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:space-between;
  margin-bottom:28px
}
.date{
  font-size:13px;
  font-weight:500
}
.timing{
  display:none
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #18221d4a;
  border-radius:999px;
  font-size:10px;
  padding:4px 10px;
  white-space:nowrap
}
.badge:before{
  content:'';
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor
}
.stream-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:12px
}
.category{
  font-size:9px;
  letter-spacing:1.1px
}
.stream-number{
  font-size:14px;
  color:#596451
}
.workstream h3{
  font-size:32px;
  line-height:1.15;
  margin-bottom:18px;
  max-width:500px
}
.stream-description{
  font-size:16px;
  line-height:1.7;
  margin-bottom:14px
}
.stream-note{
  font-size:12px;
  line-height:1.7;
  color:#53604e;
  margin-bottom:0
}
.workstream details{
  margin-top:21px
}
.workstream summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  font-size:13px;
  font-weight:500;
  padding-block:15px 4px;
  border-top:1px solid #18221d22;
  min-height:45px
}
.workstream summary::-webkit-details-marker{
  display:none
}
.workstream summary:after{
  content:'+';
  font-size:23px;
  font-weight:400;
  line-height:1
}
.workstream details[open] summary:after{
  content:'−'
}
.detail-content{
  padding:20px 0 3px
}
.scope{
  list-style:none;
  margin:0 0 18px;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:7px
}
.scope li{
  border:1px solid #18221d44;
  border-radius:999px;
  font-size:11px;
  padding:3px 10px
}
.detail-content p{
  font-size:16px;
  line-height:1.65;
  margin-bottom:0
}
.resources{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px
}
.resources a{
  font-size:14px;
  text-decoration:underline;
  text-underline-offset:4px
}
.next-section{
  background:var(--green);
  color:white;
  padding-block:82px
}
.next-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:95px
}
.next-section .eyebrow{
  color:#b4c3ac
}
.next-section h2{
  font-size:clamp(37px,3.5vw,50px);
  line-height:1.14;
  max-width:510px
}
.next-section h2 span{
  color:var(--lime)
}
.date-pill{
  display:inline-flex;
  border:1px solid #b4c3ac66;
  border-radius:999px;
  font-size:12px;
  padding:5px 13px;
  color:#e5f3d8;
  margin-bottom:23px
}
.next-copy h3{
  font-size:29px;
  line-height:1.22;
  margin-bottom:19px
}
.next-copy p{
  font-size:16px;
  color:#d4decf;
  line-height:1.75;
  max-width:475px;
  margin-bottom:28px
}
.next-copy .button{
  font-size:13px
}
.questions{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:80px;
  padding-block:100px
}
.questions h2{
  max-width:350px
}
.question-list details{
  border-bottom:1px solid var(--line)
}
.question-list details:first-child{
  border-top:1px solid var(--line)
}
.question-list summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:25px;
  align-items:center;
  padding-block:24px;
  font-size:18px;
  line-height:1.4
}
.question-list summary::-webkit-details-marker{
  display:none
}
.question-list summary:after{
  content:'+';
  font-size:24px
}
.question-list details[open] summary:after{
  content:'−'
}
.question-list p{
  font-size:16px;
  color:var(--muted);
  line-height:1.75;
  padding-bottom:23px;
  margin-bottom:0
}
.footer{
  background:#141a16;
  color:#f6f7ef;
  padding-block:52px
}
.footer-inner{
  display:grid;
  grid-template-columns:1.5fr 1fr auto;
  gap:45px;
  align-items:start
}
.footer-brand{
  font-size:31px;
  font-weight:500;
  letter-spacing:-1px
}
.footer-brand span{
  display:block;
  font-size:16px;
  font-weight:400;
  letter-spacing:-.2px;
  margin-top:0;
  color:#d4e5c4
}
.footer p{
  font-size:12px;
  color:#b8c2b3;
  margin:18px 0 0
}
.footer-links{
  display:grid;
  gap:13px;
  font-size:14px;
  padding-top:5px
}
.footer-links a:hover{
  color:var(--lime)
}
.footer p.footer-meta{
  font-size:11px;
  line-height:1.9;
  margin:6px 0 0;
  color:#a4b29f
}
.mobile-cta{
  display:none
}
.toast{
  position:fixed;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  background:var(--green);
  color:white;
  z-index:40;
  border-radius:999px;
  padding:13px 24px;
  font-size:13px;
  box-shadow:0 4px 28px #18221d22;
  max-width:calc(100% - 32px)
}
.skip{
  position:fixed;
  top:-100px;
  left:20px;
  padding:12px;
  background:white;
  z-index:50
}
.skip:focus{
  top:10px
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.no-script{
  padding:25px;
  background:var(--mint);
  border-radius:var(--radius)
}
@keyframes workstream-stack{
  to{
    transform:scale(.97);
    filter:brightness(.97)
  }
}
@supports(animation-timeline:view()){
  @media(min-width:1000px) and (min-height:760px) and (prefers-reduced-motion:no-preference){
    .workstream:not(:last-child){
      animation:workstream-stack linear both;
      animation-timeline:view();
      animation-range:exit-crossing 0% exit-crossing 65%
    }
  }
}
@media(min-width:1650px){
  :root{
    --page:1280px
  }
  .hero-inner{
    gap:85px;
    min-height:730px;
    padding-block:70px
  }
  .hero h1{
    font-size:76px
  }
  .hero-media{
    min-height:570px
  }
  .roadmap{
    grid-template-columns:370px 1fr;
    gap:100px
  }
}
@media(max-width:1100px){
  .wrap{
    width:calc(100% - 64px)
  }
  .nav-wrap{
    width:calc(100% - 48px);
    gap:24px
  }
  .header nav:not(.mobile-menu){
    gap:22px;
    font-size:12px
  }
  .hero-inner{
    gap:38px;
    min-height:610px
  }
  .hero h1{
    font-size:55px
  }
  .hero-description{
    font-size:18px
  }
  .hero-media{
    margin-right:-32px;
    min-height:500px
  }
  .hero-copy .eyebrow{
    font-size:9px
  }
  .photo-caption{
    left:24px;
    right:24px
  }
  .photo-label{
    font-size:8px
  }
  .focus{
    gap:30px
  }
  .focus ol{
    font-size:12px;
    gap:16px
  }
  .focus li{
    gap:15px
  }
  .roadmap{
    grid-template-columns:270px 1fr;
    gap:40px
  }
  .workstream{
    padding:28px
  }
  .workstream h3{
    font-size:29px
  }
  .next-inner{
    gap:55px
  }
  .questions{
    gap:45px
  }
  .status-stat{
    padding:25px
  }
  .section{
    padding-block:75px
  }
  .roadmap{
    padding-top:30px
  }
}
@media(max-width:900px){
  .header nav:not(.mobile-menu){
    display:none
  }
  .nav-cta{
    margin-left:auto
  }
  .hero-inner{
    grid-template-columns:1fr;
    gap:38px;
    padding-block:46px 0;
    min-height:0
  }
  .hero-copy{
    max-width:660px
  }
  .hero h1{
    font-size:65px
  }
  .hero h1 br:nth-child(2){
    display:none
  }
  .hero-description{
    max-width:530px
  }
  .hero-copy .eyebrow{
    font-size:10px
  }
  .hero-media{
    height:390px;
    min-height:0;
    margin-inline:-32px;
    border-radius:0
  }
  .hero-media:before{
    width:55px;
    height:65px
  }
  .hero-media img{
    object-position:center 62%
  }
  .photo-caption{
    font-size:23px;
    left:32px;
    right:32px
  }
  .photo-label{
    font-size:10px
  }
  .menu-toggle{
    display:block
  }
  .focus{
    align-items:start;
    gap:25px
  }
  .focus h2{
    margin-top:4px
  }
  .focus ol{
    flex-direction:column;
    gap:5px
  }
  .focus li{
    font-size:13px;
    gap:15px
  }
  .focus li:before{
    width:18px
  }
  .focus-band{
    padding-block:5px
  }
  .overview-heading{
    max-width:650px
  }
  .status-stat{
    padding:22px;
    min-height:195px
  }
  .status-stat strong{
    font-size:58px
  }
  .status-stat>span:last-child{
    font-size:12px
  }
  .roadmap{
    grid-template-columns:1fr;
    gap:34px
  }
  .roadmap-intro{
    position:static
  }
  .roadmap-intro>p:not(.eyebrow){
    max-width:520px
  }
  .roadmap-intro h2 br{
    display:none
  }
  .filters{
    max-width:none;
    margin-block:20px
  }
  .roadmap-note{
    display:none
  }
  .text-button{
    font-size:12px
  }
  .workstream{
    padding:32px;
    top:calc(95px + var(--index,0)*12px)
  }
  .workstream h3{
    font-size:34px
  }
  .stream-description{
    max-width:650px
  }
  .stream-date{
    margin-bottom:24px
  }
  .stream-note{
    font-size:13px
  }
  .category{
    font-size:10px
  }
  .next-inner{
    grid-template-columns:1fr;
    gap:20px
  }
  .next-section h2{
    max-width:650px
  }
  .next-copy{
    max-width:650px
  }
  .next-copy p{
    max-width:600px
  }
  .questions{
    grid-template-columns:1fr;
    gap:20px
  }
  .questions h2{
    max-width:none
  }
  .footer-inner{
    grid-template-columns:1fr 1fr;
    gap:40px
  }
  .footer-meta{
    grid-column:2
  }
  .footer .footer-meta{
    margin-top:-45px!important
  }
}
@media(max-width:600px){
  html{
    scroll-padding-top:89px
  }
  .wrap{
    width:calc(100% - 40px)
  }
  .nav-wrap{
    width:calc(100% - 32px);
    height:74px;
    gap:12px
  }
  .brand{
    font-size:23px;
    gap:8px
  }
  .brand img{
    width:29px;
    height:29px
  }
  .brand-caption{
    font-size:7px;
    letter-spacing:1.2px;
    margin-top:6px
  }
  .nav-cta{
    display:none
  }
  .menu-toggle{
    margin-left:auto
  }
  .hero-inner{
    padding-top:39px;
    gap:30px
  }
  .hero-copy .eyebrow{
    font-size:8px;
    letter-spacing:1px;
    margin-bottom:24px
  }
  .hero h1{
    font-size:clamp(41px,11.5vw,61px);
    line-height:1.1;
    letter-spacing:-.05em;
    margin-bottom:25px
  }
  .hero h1 br:nth-child(2){
    display:block
  }
  .hero-description{
    font-size:17px;
    line-height:1.65;
    margin-bottom:27px
  }
  .button{
    font-size:13px;
    min-height:47px;
    gap:24px
  }
  .hero-update{
    font-size:9px;
    margin-top:22px
  }
  .hero-update time{
    display:inline;
    margin-left:3px;
    font-size:9px
  }
  .hero-media{
    height:310px;
    margin-inline:-20px
  }
  .hero-media:before{
    width:35px;
    height:45px;
    border-bottom-right-radius:14px
  }
  .hero-media img{
    object-position:61% center
  }
  .photo-caption{
    bottom:22px;
    left:20px;
    right:20px;
    font-size:20px;
    gap:11px
  }
  .caption-mark{
    width:35px;
    height:35px;
    font-size:20px
  }
  .photo-label{
    font-size:8px
  }
  .focus{
    padding-block:22px;
    gap:20px;
    display:block
  }
  .focus h2{
    font-size:12px;
    margin:0 0 13px
  }
  .focus ol{
    gap:6px
  }
  .focus li{
    font-size:12px
  }
  .section{
    padding-block:56px
  }
  .eyebrow{
    font-size:9px;
    letter-spacing:1.2px;
    margin-bottom:21px
  }
  h2{
    font-size:37px;
    line-height:1.1;
    margin-bottom:22px
  }
  .overview-heading>p:last-child{
    font-size:16px;
    line-height:1.7;
    margin-bottom:27px
  }
  .status-summary{
    gap:10px
  }
  .status-stat{
    padding:18px 15px;
    min-height:172px;
    border-radius:20px
  }
  .stat-label{
    font-size:9px;
    line-height:1.3;
    min-height:24px
  }
  .status-stat strong{
    font-size:49px;
    margin-block:12px 13px;
    letter-spacing:-3px
  }
  .status-stat>span:last-child{
    font-size:10px;
    line-height:1.3;
    align-items:end
  }
  .status-stat>span:last-child>span{
    font-size:15px
  }
  .roadmap{
    padding-top:14px;
    padding-bottom:45px;
    gap:28px
  }
  .roadmap-intro h2 br{
    display:block
  }
  .roadmap-intro>p:not(.eyebrow){
    font-size:16px;
    max-width:330px
  }
  .filters{
    gap:6px;
    margin-bottom:18px
  }
  .filters button{
    font-size:10px;
    padding-inline:12px;
    min-height:38px
  }
  .filters span{
    margin-left:4px
  }
  .text-button{
    font-size:11px;
    gap:25px
  }
  .workstream{
    position:relative;
    top:auto;
    border-radius:24px;
    padding:25px;
    margin-bottom:17px;
    scroll-margin-top:92px
  }
  .stream-date{
    gap:10px;
    margin-bottom:26px;
    align-items:start
  }
  .date{
    font-size:12px;
    line-height:1.6;
    max-width:150px
  }
  .badge{
    font-size:9px;
    padding:3px 8px
  }
  .stream-top{
    align-items:start
  }
  .category{
    font-size:8px;
    letter-spacing:1px;
    line-height:1.5;
    max-width:200px
  }
  .stream-number{
    font-size:12px
  }
  .workstream h3{
    font-size:29px;
    line-height:1.15;
    margin-bottom:18px
  }
  .stream-description{
    font-size:16px;
    line-height:1.7;
    margin-bottom:15px
  }
  .stream-note{
    font-size:12px
  }
  .workstream summary{
    font-size:12px
  }
  .scope{
    gap:6px
  }
  .scope li{
    font-size:10px;
    padding:4px 9px
  }
  .detail-content p{
    font-size:16px;
    line-height:1.7
  }
  .next-section{
    padding-block:52px
  }
  .next-inner{
    gap:20px
  }
  .next-section h2{
    font-size:37px;
    margin-bottom:16px
  }
  .date-pill{
    font-size:11px;
    margin-bottom:19px
  }
  .next-copy h3{
    font-size:27px;
    line-height:1.2
  }
  .next-copy p{
    font-size:16px;
    margin-bottom:25px
  }
  .next-copy .button{
    font-size:12px
  }
  .questions{
    gap:12px;
    padding-block:57px
  }
  .questions h2{
    font-size:36px
  }
  .question-list summary{
    font-size:16px;
    padding-block:23px;
    gap:20px
  }
  .question-list p{
    font-size:16px;
    line-height:1.8
  }
  .footer{
    padding-block:40px 100px
  }
  .footer-inner{
    gap:30px;
    grid-template-columns:1fr auto
  }
  .footer-brand{
    font-size:25px
  }
  .footer-brand span{
    font-size:14px
  }
  .footer-links{
    font-size:11px;
    gap:12px
  }
  .footer p{
    font-size:11px
  }
  .footer .footer-meta{
    grid-column:1 / -1;
    margin-top:0!important;
    font-size:10px
  }
  .mobile-cta{
    display:flex;
    position:fixed;
    bottom:12px;
    left:16px;
    right:16px;
    z-index:25;
    box-shadow:0 4px 30px #18221d22;
    justify-content:space-between;
    padding-left:22px;
    min-height:48px;
    font-size:12px
  }
  .toast{
    bottom:75px;
    white-space:normal;
    font-size:12px;
    line-height:1.5;
    width:max-content;
    max-width:calc(100% - 32px);
    text-align:center
  }
}
@media(max-width:380px){
  .wrap{
    width:calc(100% - 32px)
  }
  .hero h1{
    font-size:42px
  }
  .hero-media{
    margin-inline:-16px
  }
  .status-stat{
    padding:17px 12px
  }
  .status-stat>span:last-child>span{
    display:none
  }
  .workstream{
    padding:23px
  }
  .workstream h3{
    font-size:28px
  }
  .filters{
    gap:5px
  }
  .filters button{
    padding-inline:10px
  }
  .hero-update time{
    display:block;
    margin-left:0
  }
  .hero-description{
    font-size:16px
  }
}
@media(max-width:600px){
  .status-summary{
    grid-template-columns:1fr;
    gap:12px
  }
  .status-stat{
    display:grid;
    grid-template-columns:1fr auto;
    min-height:125px;
    padding:24px;
    gap:4px 25px
  }
  .stat-label{
    grid-column:1;
    grid-row:1;
    min-height:0;
    font-size:12px
  }
  .status-stat strong{
    grid-column:2;
    grid-row:1 / span 2;
    font-size:64px;
    align-self:center;
    margin:0
  }
  .status-stat>span:last-child{
    grid-column:1;
    grid-row:2;
    font-size:15px;
    justify-content:start;
    gap:20px
  }
  .status-stat>span:last-child>span{
    display:inline;
    font-size:18px
  }
  .workstream:has(details[open]){
    position:relative;
    top:auto
  }
}
@media(min-width:601px){
  .workstream:has(details[open]){
    position:relative;
    top:auto
  }
}
@media(min-width:901px){
  .mobile-menu{
    display:none!important
  }
}
@media(min-width:601px) and (max-height:700px){
  .workstream{
    position:relative;
    top:auto
  }
  .roadmap-intro{
    position:relative;
    top:auto
  }
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{
    scroll-behavior:auto!important;
    animation:none!important;
    transition-duration:.01ms!important
  }
}
@media print{
  body{
    background:white;
    font:12px/1.5 Arial,sans-serif
  }
  .wrap{
    width:100%
  }
  .section{
    padding-block:25px
  }
  .header{
    position:static
  }
  .nav-wrap{
    height:60px;
    width:100%
  }
  .header nav,.nav-cta,.menu-toggle,.mobile-cta,.hero-media,.filters,.text-button,.toast,.button,.footer-links{
    display:none!important
  }
  .hero{
    background:white
  }
  .hero-inner{
    display:block;
    min-height:0;
    padding:20px 0
  }
  .hero h1{
    font-size:35px
  }
  .hero h1 br{
    display:none
  }
  .hero-description{
    max-width:none
  }
  .hero-update{
    margin-top:15px
  }
  .focus{
    padding-block:15px
  }
  .overview-heading h2,.roadmap h2,.next-section h2,.questions h2{
    font-size:28px
  }
  .status-stat{
    min-height:130px;
    padding:15px
  }
  .status-stat strong{
    font-size:45px
  }
  .roadmap{
    display:block;
    padding-top:15px
  }
  .roadmap-intro{
    position:static
  }
  .workstream{
    position:static;
    break-inside:avoid;
    padding:22px
  }
  .workstream[hidden]{
    display:block
  }
  .workstream h3{
    font-size:25px
  }
  .workstream summary{
    display:none
  }
  .next-section{
    background:#eee;
    color:black;
    padding-block:25px
  }
  .next-inner{
    gap:30px
  }
  .next-section h2 span,.next-copy p,.date-pill{
    color:black
  }
  .questions{
    display:none
  }
  .footer{
    background:white;
    color:black;
    padding:20px 0
  }
  .footer p,.footer-brand span{
    color:black
  }
}

/* Motion layer: works without CSS scroll-driven animation support. */
.hero-line { display: block; }
.reading-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 60; background: var(--lime); transform: scaleX(0); transform-origin: left; pointer-events: none; }
html:not(.motion-on) .reading-progress { display: none; }
.motion-on .hero-line, .motion-on .hero-media, .motion-on .hero-media img { will-change: transform, opacity; }
.motion-on .highlight { position: relative; display: inline-block; background: transparent; isolation: isolate; }
.motion-on .highlight::before { content: ''; position: absolute; inset: 0; background: var(--lime); z-index: -1; transform-origin: left; animation: highlight-sweep 900ms var(--ease) 650ms both; }
.motion-on .workstream { animation: none !important; transform: scale(var(--stack-scale, 1)); filter: brightness(var(--stack-light, 1)); will-change: transform; }
.motion-on .hero-update .live-dot, .motion-on .focus .live-dot { animation: live-ring 3s ease-out infinite; }
.workstream-ticker { overflow: hidden; background: var(--green); color: var(--lime); padding-block: 21px; }
.ticker-track { display: flex; width: max-content; animation: workstream-marquee 28s linear infinite; }
.ticker-group { display: flex; align-items: center; gap: 43px; padding-right: 43px; white-space: nowrap; }
.ticker-group span { font-size: 12px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; }
.ticker-group span:nth-child(even) { font-size: 23px; font-weight: 400; }
.workstream-ticker:hover .ticker-track, .workstream-ticker:focus-within .ticker-track { animation-play-state: paused; }
.status-stat { transition: transform 350ms var(--ease), box-shadow 350ms var(--ease); }
.status-stat:hover, .status-stat:focus-visible { transform: translateY(-9px); box-shadow: 0 18px 36px #18221d14; }
.workstream summary::after, .question-list summary::after { display: inline-block; transition: transform 400ms var(--ease); }
.workstream details[open] summary::after, .question-list details[open] summary::after { transform: rotate(180deg); }
.button-secondary { border: 1px solid var(--ink); border-radius: 999px; background: transparent; padding: 8px 16px; margin-left: 8px; }
@keyframes highlight-sweep { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes workstream-marquee { to { transform: translateX(-50%); } }
@keyframes live-ring { 0% { box-shadow: 0 0 0 0 #4e765455; } 70%, 100% { box-shadow: 0 0 0 9px #4e765400; } }
@media (max-width: 600px) {
  .workstream-ticker { padding-block: 16px; }
  .ticker-group { gap: 25px; padding-right: 25px; }
  .ticker-group span { font-size: 10px; }
  .ticker-group span:nth-child(even) { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .ticker-track { width: auto; animation: none; }
  .ticker-group { flex-wrap: wrap; gap: 12px 22px; white-space: normal; padding-inline: 20px; justify-content: center; }
  .ticker-group[aria-hidden] { display: none; }
  .status-stat:hover, .status-stat:focus-visible { transform: none; }
}
@media print {
  .reading-progress, .workstream-ticker { display: none; }
  .hero-line { display: inline; }
  .motion-on .workstream { transform: none; filter: none; }
}


/* An explicit visitor choice can enable motion even when the system requests reduction. */
.motion-toggle { display: inline-grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; color: var(--green); background: transparent; font-size: 15px; line-height: 1; }
.motion-toggle[hidden] { display: none; }
.motion-toggle:hover { background: var(--mint); }
.motion-on .ticker-track { width: max-content; animation: workstream-marquee 28s linear infinite !important; }
.motion-on .ticker-group { flex-wrap: nowrap; gap: 43px; padding: 0 43px 0 0; white-space: nowrap; }
.motion-on .ticker-group[aria-hidden] { display: flex; }
.motion-on .highlight::before { animation: highlight-sweep 900ms var(--ease) 650ms both !important; }
.motion-on .hero-update .live-dot, .motion-on .focus .live-dot { animation: live-ring 3s ease-out infinite !important; }
.motion-on .workstream-ticker:hover .ticker-track { animation-play-state: paused !important; }
.motion-off .ticker-track { width: auto; animation: none !important; }
.motion-off .ticker-group { flex-wrap: wrap; justify-content: center; gap: 12px 22px; white-space: normal; padding-inline: 20px; }
.motion-off .ticker-group[aria-hidden] { display: none; }
@media (max-width: 900px) { .nav-wrap { gap: 18px; } }
@media (max-width: 600px) {
  .motion-toggle { margin-left: auto; width: 34px; height: 34px; }
  .menu-toggle { margin-left: 0; }
  .nav-wrap { gap: 10px; }
  .motion-on .ticker-group { gap: 25px; padding-right: 25px; }
}
@media print { .motion-toggle { display: none; } }


/* Mobile reading and touch ergonomics. */
@media (max-width: 600px) {
  .nav-wrap { height: 68px; gap: 8px; }
  .brand { font-size: 22px; gap: 7px; }
  .motion-toggle, .menu-toggle { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  .menu-toggle { margin-left: 0; }
  .mobile-menu:not([hidden]) { position: absolute; top: calc(100% + 8px); left: 12px; right: 12px; padding: 12px; gap: 2px; background: var(--paper); border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 16px 40px #18221d20; }
  .mobile-menu a { display: flex; align-items: center; min-height: 48px; padding: 10px 16px; font-size: 16px; border-radius: 12px; }
  .mobile-menu a:hover, .mobile-menu a:focus-visible { background: var(--mint); }
  .hero-inner { padding-top: 29px; gap: 24px; }
  .hero-copy .eyebrow { font-size: 9px; line-height: 1.6; letter-spacing: .7px; margin-bottom: 20px; }
  .hero h1 { font-size: clamp(39px, 10.8vw, 55px); line-height: 1.1; margin-bottom: 23px; }
  .hero-description { font-size: 16px; line-height: 1.65; margin-bottom: 23px; }
  .hero-copy>.button { min-height: 50px; font-size: 14px; }
  .hero-update { font-size: 11px; margin-top: 18px; align-items: flex-start; }
  .hero-update .live-dot { margin-top: 6px; }
  .hero-update time { display: block; margin: 2px 0 0; font-size: 12px; line-height: 1.6; }
  .hero-media { height: 230px; }
  .photo-caption { font-size: 18px; bottom: 20px; }
  .photo-label { font-size: 9px; letter-spacing: .5px; }
  .focus h2 { font-size: 14px; }
  .focus li { font-size: 13px; line-height: 1.6; }
  .focus ol { gap: 9px; }
  .focus { padding-block: 24px; }
  .status-stat { min-height: 104px; padding: 20px 24px; }
  .status-stat strong { font-size: 50px; }
  .stat-label { font-size: 12px; }
  .status-stat>span:last-child { font-size: 15px; }
  .filters { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
  .filters button { min-height: 46px; font-size: 13px; padding: 10px 12px; }
  .text-button { min-height: 44px; align-items: center; font-size: 14px; }
  .stream-date { margin-bottom: 23px; align-items: center; }
  .date { font-size: 14px; }
  .badge { font-size: 11px; padding: 4px 10px; }
  .category { font-size: 10px; letter-spacing: .7px; }
  .stream-number { font-size: 14px; }
  .workstream h3 { font-size: 28px; line-height: 1.2; }
  .stream-description { line-height: 1.65; }
  .stream-note { font-size: 13px; }
  .workstream summary { min-height: 52px; padding-block: 16px 7px; font-size: 14px; }
  .scope li { font-size: 12px; padding: 5px 10px; }
  .question-list summary { min-height: 64px; }
  .footer-links a { display: flex; align-items: center; min-height: 44px; font-size: 13px; }
  .footer-links { gap: 0; }
  .footer { padding-bottom: calc(115px + env(safe-area-inset-bottom, 0px)); }
  .mobile-cta { bottom: max(12px, env(safe-area-inset-bottom, 0px)); min-height: 52px; font-size: 14px; transition: transform 300ms var(--ease), opacity 200ms; }
  .mobile-cta.at-destination, .menu-open .mobile-cta { transform: translateY(calc(100% + 35px)); opacity: 0; pointer-events: none; visibility: hidden; }
  .toast { bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 360px) {
  .nav-wrap { width: calc(100% - 24px); gap: 4px; }
  .brand { font-size: 20px; }
  .brand-caption { font-size: 6px; }
  .brand img { width: 27px; height: 27px; }
  .hero h1 { font-size: 37px; }
  .badge { font-size: 10px; padding-inline: 8px; }
}


/* Keep touch targets comfortable on tablets as well as phones. */
.motion-toggle { width: 44px; height: 44px; }
.filters button { min-height: 44px; }
@media (max-width: 900px) {
  .mobile-menu:not([hidden]) { position: absolute; top: calc(100% + 8px); left: 12px; right: 12px; padding: 12px; gap: 2px; background: var(--paper); border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 16px 40px #18221d20; }
  .mobile-menu a { display: flex; align-items: center; min-height: 48px; padding: 10px 16px; font-size: 16px; border-radius: 12px; }
}
@media (max-width: 600px) { .filters button { min-height: 46px; } }
@media (max-width: 360px) { .filters button[data-filter="all"] span { display: none; } }


.motion-off *, .motion-off *::before, .motion-off *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
.motion-off .workstream { animation: none !important; transform: none; filter: none; }
.motion-off .status-stat:hover, .motion-off .arrow-circle { transform: none !important; }

