  :root{
    --bg: #FAFAF8;
    --bg-panel: #F1F1EE;
    --white: #FFFFFF;
    --ink: #14140F;
    --ink-soft: #4B4C46;
    --ink-faint: #83847C;
    --line: #E3E3DD;
    --black: #0B0C0A;
    --black-soft: #1B1C18;
    --green: #1F5C46;
    --green-deep: #163F31;
    --green-tint: #E4EEE8;
    --green-tint-soft: #EFF4F0;
    --green-on-black: #4FBE93;
    --radius-lg: 28px;
    --radius-md: 18px;
    --radius-sm: 12px;
    --shadow-card: 0 1px 2px rgba(20,20,15,0.04), 0 12px 28px -16px rgba(20,20,15,0.14);
    --shadow-card-lift: 0 4px 10px rgba(20,20,15,0.06), 0 24px 40px -20px rgba(20,20,15,0.22);
    --maxw: 1180px;
    font-size: 16px;
  }

  #page-onboarding{ --maxw: 880px; }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}

  .is-hidden{ display:none !important; }

  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
  }

  .mono{
    font-family:'IBM Plex Mono', ui-monospace, monospace;
    letter-spacing:0.02em;
  }

  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  button{font-family:inherit;}

  a:focus-visible,
  button:focus-visible{
    outline: 2.5px solid var(--green);
    outline-offset: 3px;
    border-radius: 6px;
  }

  .skip-link{
    position:absolute;
    left:16px;
    top:-60px;
    background:var(--black);
    color:var(--white);
    padding:12px 18px;
    border-radius:10px;
    z-index:200;
    transition:top .2s ease;
    font-weight:600;
    font-size:0.9rem;
  }
  .skip-link:focus{top:16px;}

  .wrap{
    max-width:var(--maxw);
    margin:0 auto;
    padding:0 32px;
  }

  @media (max-width:640px){
    .wrap{padding:0 20px;}
  }

  /* ---------- Page navigation (single-file routing) ---------- */
  .page{display:none;}
  .page.active{display:block;}

  .back-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:0.9rem;
    font-weight:500;
    color:var(--ink-faint);
    padding:24px 0 0;
  }
  .back-link:hover{color:var(--ink);}
  .back-link svg{width:14px; height:14px;}

  /* ---------- Footer (shared) ---------- */
  footer{
    border-top:1px solid var(--line);
    padding:36px 0 60px;
    margin-top:20px;
  }
  .footer-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
  }
  footer p{
    font-size:0.85rem;
    color:var(--ink-faint);
    margin:0;
  }

  @media (prefers-reduced-motion: reduce){
    *{transition:none !important; scroll-behavior:auto !important;}
  }

  /* ================================================
     HOME PAGE STYLES
     ================================================ */
#page-home .hero {
    background:var(--black);
    color:var(--white);
    position:relative;
    overflow:hidden;
    border-radius:0 0 40px 40px;
  }
#page-home .hero-lines {
    position:absolute;
    inset:0;
    opacity:0.5;
    pointer-events:none;
  }
#page-home .hero-inner {
    position:relative;
    max-width:var(--maxw);
    margin:0 auto;
    padding:104px 32px 72px;
    z-index:2;
  }
#page-home .hero-top-grid {
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:48px;
    align-items:center;
  }
#page-home .hero-symbol {
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:28px;
    padding:36px;
    min-height:260px;
  }
#page-home .hero-symbol-img {
    display:block;
    width:100%;
    max-width:280px;
    height:auto;
    object-fit:contain;
  }
@media (max-width:900px){
#page-home .hero-top-grid { grid-template-columns:1fr; gap:0; }
#page-home .hero-symbol { display:none; }
}
#page-home .hero h1 {
    font-size:clamp(2.1rem, 4.6vw, 3.55rem);
    line-height:1.08;
    letter-spacing:-0.025em;
    font-weight:700;
    max-width:15ch;
    margin:0 0 24px;
  }
#page-home .hero p.preview {
    font-size:1.1rem;
    line-height:1.6;
    color:rgba(255,255,255,0.72);
    max-width:56ch;
    margin:0 0 40px;
  }
#page-home .confidentiality {
    display:flex;
    gap:12px;
    align-items:flex-start;
    max-width:640px;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:var(--radius-sm);
    padding:16px 18px;
  }
#page-home .confidentiality svg {flex:none; margin-top:2px;}
#page-home .confidentiality p {
    margin:0;
    font-size:0.9rem;
    line-height:1.55;
    color:rgba(255,255,255,0.68);
  }

/* ---------- Four pillars (hero explainer grid) ---------- */
#page-home .pillars { margin-top:44px; }
#page-home .pillars-eyebrow {
    font-size:0.82rem;
    font-weight:500;
    color:var(--green-on-black);
    margin:0 0 18px;
    display:flex;
    align-items:center;
    gap:8px;
  }
#page-home .pillars-eyebrow::before {
    content:"";
    width:16px;
    height:1.5px;
    background:var(--green-on-black);
    display:inline-block;
  }
#page-home .pillars-grid {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
  }
@media (max-width:980px){
#page-home .pillars-grid {grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
#page-home .pillars-grid {grid-template-columns:1fr;}
}
#page-home .pillar-card {
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:var(--radius-md);
    padding:20px 18px;
    transition:border-color .15s ease, background .15s ease;
  }
#page-home .pillar-card:hover {
    background:rgba(255,255,255,0.08);
    border-color:rgba(79,190,147,0.4);
  }
#page-home .pillar-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(79,190,147,0.12);
    color:var(--green-on-black);
    margin-bottom:14px;
  }
#page-home .pillar-icon svg {width:19px; height:19px;}
#page-home .pillar-card h3 {
    font-size:0.98rem;
    font-weight:700;
    color:var(--white);
    letter-spacing:-0.01em;
    margin:0 0 8px;
  }
#page-home .pillar-card p {
    font-size:0.86rem;
    line-height:1.55;
    color:rgba(255,255,255,0.62);
    margin:0;
  }

#page-home section {
    padding:80px 0;
  }
#page-home section.tight {padding:64px 0;}
#page-home .section-head {
    max-width:640px;
    margin-bottom:44px;
  }
#page-home .section-head.center {margin-left:auto; margin-right:auto; text-align:center;}
#page-home .section-label {
    font-size:0.8rem;
    font-weight:500;
    color:var(--green);
    text-transform:none;
    margin:0 0 12px;
    display:flex;
    align-items:center;
    gap:8px;
  }
#page-home .section-label::before {
    content:"";
    width:16px;
    height:1.5px;
    background:var(--green);
    display:inline-block;
  }
#page-home .section-head h2 {
    font-size:clamp(1.5rem, 2.6vw, 2.1rem);
    letter-spacing:-0.02em;
    line-height:1.2;
    margin:0 0 14px;
    font-weight:700;
  }
#page-home .section-head p {
    color:var(--ink-soft);
    font-size:1.02rem;
    line-height:1.6;
    margin:0;
  }
#page-home .arrow-circle {
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:none;
    transition:transform .18s ease, background .18s ease;
  }
#page-home .arrow-circle svg {width:15px; height:15px;}
#page-home .primary-action {
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    padding:56px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    box-shadow:var(--shadow-card);
  }
#page-home .primary-action-text {max-width:520px;}
#page-home .primary-action .section-label {margin-bottom:14px;}
#page-home .primary-action h2 {
    font-size:clamp(1.5rem,2.8vw,2rem);
    font-weight:700;
    letter-spacing:-0.02em;
    margin:0 0 14px;
    line-height:1.2;
  }
#page-home .primary-action p {
    color:var(--ink-soft);
    font-size:1.02rem;
    line-height:1.6;
    margin:0;
  }
#page-home .btn {
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-weight:600;
    font-size:0.98rem;
    padding:15px 22px 15px 24px;
    border-radius:999px;
    border:1px solid transparent;
    cursor:pointer;
    white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
#page-home .btn:hover {transform:translateY(-1px);}
#page-home .btn-primary {
    background:var(--black);
    color:var(--white);
  }
#page-home .btn-primary:hover {background:var(--black-soft); box-shadow:0 10px 24px -10px rgba(11,12,10,0.5);}
#page-home .btn-primary .arrow-circle {
    color:var(--green-on-black);
    border-color:rgba(79,190,147,0.5);
  }
#page-home .btn-ghost-dark {
    background:transparent;
    color:var(--white);
    border-color:rgba(255,255,255,0.3);
  }
#page-home .btn-ghost-dark:hover {background:rgba(255,255,255,0.08);}
@media (max-width:760px){
#page-home .primary-action {flex-direction:column; align-items:flex-start; padding:36px 26px;}
#page-home .primary-action .btn {width:100%; justify-content:center;}
}
#page-home .essentials-grid {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
  }
@media (max-width:980px){
#page-home .essentials-grid {grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
#page-home .essentials-grid {grid-template-columns:1fr;}
}
#page-home .essentials-footnote-link{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  margin-top:16px; padding:16px 20px;
  background:var(--bg-panel); border:1px solid var(--line); border-radius:var(--radius-md);
  font-size:0.92rem; font-weight:600; color:var(--ink-soft);
  text-decoration:none; transition:border-color .15s ease;
}
#page-home .essentials-footnote-link:hover{ border-color:var(--green); color:var(--ink); }
#page-home .essentials-footnote-link .arrow-circle{
  flex:none; width:30px; height:30px; border-radius:50%;
  border:1px solid var(--line); color:var(--ink-soft);
  display:flex; align-items:center; justify-content:center;
}
#page-home .essentials-footnote-link .arrow-circle svg{ width:12px; height:12px; }
@media (max-width:600px){
  #page-home .essentials-footnote-link{ font-size:0.88rem; }
}
#page-home .r-card {
    border-radius:var(--radius-md);
    padding:28px 24px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:250px;
    box-shadow:var(--shadow-card);
    transition:transform .18s ease, box-shadow .18s ease;
  }
#page-home .r-card:hover {transform:translateY(-3px); box-shadow:var(--shadow-card-lift);}
#page-home .r-card h3 {
    font-size:1.08rem;
    font-weight:700;
    letter-spacing:-0.01em;
    margin:16px 0 10px;
    line-height:1.25;
  }
#page-home .r-card p {
    font-size:0.9rem;
    line-height:1.55;
    margin:0 0 22px;
  }
#page-home .r-card .arrow-circle {margin-top:auto;}
#page-home .r-card-index {
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.03em;
    opacity:0.55;
  }
#page-home .r-card.dark {background:var(--black); color:var(--white);}
#page-home .r-card.dark p {color:rgba(255,255,255,0.66);}
#page-home .r-card.dark .arrow-circle {color:var(--green-on-black); border-color:rgba(79,190,147,0.45);}
#page-home .r-card.light {background:var(--white); color:var(--ink); border:1px solid var(--line);}
#page-home .r-card.light p {color:var(--ink-soft);}
#page-home .r-card.light .arrow-circle {color:var(--green); border-color:var(--green);}
#page-home .r-card.mute {background:var(--bg-panel); color:var(--ink); border:1px solid var(--line);}
#page-home .r-card.mute p {color:var(--ink-soft);}
#page-home .r-card.mute .arrow-circle {color:var(--ink); border-color:var(--ink-faint);}
#page-home .r-card.tint {background:var(--green-tint); color:var(--green-deep);}
#page-home .r-card.tint p {color:#3D5F51;}
#page-home .r-card.tint .arrow-circle {color:var(--green-deep); border-color:var(--green);}
#page-home .r-card a.card-link {
    display:flex;
    flex-direction:column;
    height:100%;
    color:inherit;
  }
#page-home .support-band {
    background:var(--green-deep);
    background-image:radial-gradient(120% 140% at 0% 0%, #1E5942 0%, #163F31 55%, #10302664 100%);
    border-radius:var(--radius-lg);
    padding:56px;
    color:var(--white);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    position:relative;
    overflow:hidden;
  }
#page-home .support-band::before {
    content:"";
    position:absolute;
    right:-60px;
    top:-60px;
    width:260px;
    height:260px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.08);
  }
#page-home .support-band::after {
    content:"";
    position:absolute;
    right:20px;
    bottom:-90px;
    width:200px;
    height:200px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.06);
  }
#page-home .support-text {max-width:600px; position:relative; z-index:1;}
#page-home .support-band .section-label {color:var(--green-on-black);}
#page-home .support-band .section-label::before {background:var(--green-on-black);}
#page-home .support-band h2 {
    font-size:clamp(1.4rem,2.6vw,1.9rem);
    font-weight:700;
    letter-spacing:-0.02em;
    margin:0 0 12px;
    line-height:1.25;
  }
#page-home .support-band p {
    color:rgba(255,255,255,0.78);
    font-size:1rem;
    line-height:1.6;
    margin:0;
  }
#page-home .support-band .btn {
    position:relative;
    z-index:1;
    background:var(--white);
    color:var(--green-deep);
  }
#page-home .support-band .btn .arrow-circle {color:var(--green-deep); border-color:var(--green-deep);}
#page-home .support-band .btn:hover {background:#EFEFEA;}
@media (max-width:760px){
#page-home .support-band {flex-direction:column; align-items:flex-start; padding:36px 26px;}
#page-home .support-band .btn {width:100%; justify-content:center;}
}
#page-home .research-section .section-head p {max-width:60ch;}
#page-home .research-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    overflow:hidden;
  }
@media (max-width:700px){
#page-home .research-list {grid-template-columns:1fr;}
}
#page-home .research-item {
    background:var(--bg);
    padding:22px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    transition:background .15s ease;
  }
#page-home .research-item:hover {background:var(--white);}
#page-home .research-item.wide {grid-column:1 / -1;}
#page-home .research-item span.label {
    font-size:0.98rem;
    font-weight:600;
    color:var(--ink);
    display:block;
  }
#page-home .research-item span.blurb {
    font-size:0.84rem;
    color:var(--ink-faint);
    display:block;
    margin-top:4px;
    line-height:1.4;
  }
#page-home .research-item .arrow-circle {
    width:32px; height:32px;
    color:var(--ink-faint);
    border-color:var(--line);
    flex:none;
  }
#page-home .research-item:hover .arrow-circle {color:var(--green); border-color:var(--green);}
#page-home .research-item.library {
    background:var(--green-tint-soft);
    grid-column:1 / -1;
  }
#page-home .research-item.library:hover {background:var(--green-tint);}
#page-home .research-item.library .arrow-circle {color:var(--green-deep); border-color:var(--green);}

  /* ================================================
     START YOUR ONBOARDING PAGE STYLES
     ================================================ */
#page-onboarding .page-header { padding:28px 0 56px; }
#page-onboarding .eyebrow-label {
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
#page-onboarding .eyebrow-label::before { content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
#page-onboarding .page-header h1 {
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
#page-onboarding .page-header .lede {
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0;
  }
#page-onboarding section { padding:52px 0; border-top:1px solid var(--line); }
#page-onboarding section:first-of-type { border-top:none; }
#page-onboarding .section-label {
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
#page-onboarding .section-label::before { content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
#page-onboarding h2 {
    font-size:clamp(1.35rem, 2.6vw, 1.7rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 18px;
  }
#page-onboarding h3 { font-size:1.05rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
#page-onboarding p { margin:0 0 14px; color:var(--ink-soft); line-height:1.65; font-size:1rem; }
#page-onboarding p:last-child { margin-bottom:0; }
#page-onboarding strong { color:var(--ink); font-weight:600; }
#page-onboarding .btn {
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
#page-onboarding .btn:hover { transform:translateY(-1px); }
#page-onboarding .btn-primary { background:var(--black); color:var(--white); }
#page-onboarding .btn-primary:hover { background:var(--black-soft); box-shadow:0 10px 24px -10px rgba(11,12,10,0.5); }
#page-onboarding .btn-primary .arrow-circle { color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
#page-onboarding .btn-outline { background:var(--white); color:var(--ink); border-color:var(--line); }
#page-onboarding .btn-outline:hover { border-color:var(--ink-faint); }
#page-onboarding .btn-outline .arrow-circle { color:var(--green); border-color:var(--green); }
#page-onboarding .btn-light { background:var(--white); color:var(--green-deep); }
#page-onboarding .btn-light:hover { background:#EFEFEA; }
#page-onboarding .btn-light .arrow-circle { color:var(--green-deep); border-color:var(--green-deep); }
#page-onboarding .arrow-circle {
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
#page-onboarding .arrow-circle svg { width:13px; height:13px; }
#page-onboarding .btn-row { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
#page-onboarding .onboarding-contribution-btn { margin-top:4px; }
@media (max-width:560px){
#page-onboarding .btn { width:100%; justify-content:center; }
#page-onboarding .btn-row { flex-direction:column; align-items:stretch; }
}
#page-onboarding .link-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }
#page-onboarding .hub-link {
    display:inline-flex; align-items:center; gap:10px;
    background:var(--white); border:1px solid var(--line);
    border-radius:999px; padding:11px 18px 11px 20px;
    font-weight:600; font-size:0.92rem;
    transition:border-color .15s ease, transform .15s ease;
  }
#page-onboarding .hub-link:hover { border-color:var(--green); transform:translateY(-1px); }
#page-onboarding .hub-link .arrow-circle { width:26px; height:26px; color:var(--green); border-color:var(--green); }
#page-onboarding .hub-link .arrow-circle svg { width:10px; height:10px; }
#page-onboarding .steps { display:grid; gap:16px; margin-top:20px; }
#page-onboarding .step {
    display:flex; gap:18px;
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 24px;
  }
#page-onboarding .step-num {
    flex:none; width:34px; height:34px; border-radius:50%;
    background:var(--black); color:var(--white);
    display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono', monospace; font-size:0.85rem; font-weight:500;
  }
#page-onboarding .step h3 { margin:2px 0 6px; }
#page-onboarding .step p { margin:0; }
#page-onboarding .callout {
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:26px 28px;
  }
#page-onboarding .callout.tint { background:var(--green-tint-soft); border-color:#D9E7DF; }
#page-onboarding .name-format {
    background:var(--black); color:var(--white);
    border-radius:var(--radius-md); padding:26px 28px; margin:20px 0 0;
  }
#page-onboarding .name-format .label {
    font-size:0.8rem; color:rgba(255,255,255,0.55); margin:0 0 10px; font-weight:500;
  }
#page-onboarding .name-format .format {
    font-family:'IBM Plex Mono', monospace; font-size:1.05rem; color:var(--green-on-black);
    margin:0 0 12px; word-break:break-word;
  }
#page-onboarding .name-format .example { font-size:0.92rem; color:rgba(255,255,255,0.68); margin:0; }
#page-onboarding .dm-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:20px; }
@media (max-width:700px){
#page-onboarding .dm-grid { grid-template-columns:1fr; }
}
#page-onboarding .dm-card {
    border-radius:var(--radius-md); padding:20px 20px 22px;
    border:1px solid var(--line); background:var(--white);
  }
#page-onboarding .dm-card.open { border-color:#CFE4D9; background:var(--green-tint-soft); }
#page-onboarding .dm-card .dm-tag {
    display:inline-block; font-size:0.76rem; font-weight:600;
    padding:4px 10px; border-radius:999px; margin-bottom:12px;
    background:var(--bg-panel); color:var(--ink-soft);
  }
#page-onboarding .dm-card.open .dm-tag { background:var(--green-tint); color:var(--green-deep); }
#page-onboarding .dm-card p { font-size:0.9rem; margin:0; }
#page-onboarding .template-block {
    background:var(--white); border:1px dashed #C9CAC2;
    border-radius:var(--radius-md); padding:24px 26px; margin-top:20px;
    font-family:'IBM Plex Mono', monospace; font-size:0.88rem; line-height:2.05;
    color:var(--ink-soft);
  }
#page-onboarding .template-block .field { color:var(--ink); font-weight:600; }
#page-onboarding .checklist { display:grid; gap:12px; margin-top:20px; }
#page-onboarding .check-item {
    display:flex; gap:14px; align-items:flex-start;
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:16px 18px;
  }
#page-onboarding .check-mark {
    flex:none; width:22px; height:22px; border-radius:6px;
    border:1.5px solid var(--green); margin-top:2px;
    display:flex; align-items:center; justify-content:center;
  }
#page-onboarding .check-mark svg { width:12px; height:12px; }
#page-onboarding .check-item p { margin:0; font-size:0.96rem; }
#page-onboarding .check-item strong { display:block; margin-bottom:2px; }
#page-onboarding .cta-feature {
    background:var(--green-deep);
    background-image:radial-gradient(120% 140% at 0% 0%, #1E5942 0%, #163F31 55%, #10302664 100%);
    border-radius:var(--radius-lg); padding:44px 40px;
    color:var(--white); position:relative; overflow:hidden;
  }
#page-onboarding .cta-feature::after {
    content:""; position:absolute; right:-50px; top:-50px;
    width:200px; height:200px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.08);
  }
#page-onboarding .cta-feature p { color:rgba(255,255,255,0.78); position:relative; z-index:1; }
#page-onboarding .cta-feature .btn { position:relative; z-index:1; margin-top:6px; }
#page-onboarding .expect-grid { display:grid; gap:14px; margin-top:20px; }
#page-onboarding .expect-item {
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 24px;
  }
#page-onboarding .expect-item h3 { margin-bottom:8px; }
#page-onboarding .expect-item p { margin:0; }
#page-onboarding .sub-callout {
    margin-top:28px; background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:26px 28px;
  }
#page-onboarding .sub-callout h3 { margin-bottom:8px; }
#page-onboarding .bullets { display:grid; gap:10px; margin:16px 0 0; }
#page-onboarding .bullets li {
    display:flex; gap:12px; align-items:flex-start;
    font-size:0.98rem; color:var(--ink-soft); line-height:1.6;
  }
#page-onboarding .bullets li::before {
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:9px;
  }
#page-onboarding .route-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
@media (max-width:640px){
#page-onboarding .route-grid { grid-template-columns:1fr; }
}
#page-onboarding .route-card {
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:18px 20px;
  }
#page-onboarding .route-card .tag {
    font-size:0.76rem; font-weight:600; color:var(--green);
    margin:0 0 6px; display:block;
  }
#page-onboarding .route-card p { margin:0; font-size:0.94rem; }
#page-onboarding .ip-block {
    background:var(--black); color:var(--white);
    border-radius:var(--radius-lg); padding:34px 36px; margin-top:8px;
  }
#page-onboarding .ip-block h3 { color:var(--white); }
#page-onboarding .ip-block p { color:rgba(255,255,255,0.7); }
#page-onboarding .ip-list { display:grid; gap:10px; margin:18px 0 0; }
#page-onboarding .ip-list li {
    display:flex; gap:12px; align-items:flex-start;
    font-size:0.96rem; color:rgba(255,255,255,0.78); line-height:1.6;
  }
#page-onboarding .ip-list li::before {
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green-on-black); margin-top:8px;
  }
#page-onboarding .timeline { display:grid; gap:0; margin-top:22px; }
#page-onboarding .tl-item {
    display:flex; gap:20px; padding:20px 0;
    border-bottom:1px solid var(--line);
  }
#page-onboarding .tl-item:last-child { border-bottom:none; }
#page-onboarding .tl-marker {
    flex:none; display:flex; flex-direction:column; align-items:center; width:14px;
  }
#page-onboarding .tl-dot { width:10px; height:10px; border-radius:50%; background:var(--green); margin-top:6px; }
#page-onboarding .tl-item h3 { margin-bottom:6px; }
#page-onboarding .tl-item p { margin:0; }
#page-onboarding .ask-table { width:100%; border-collapse:collapse; margin-top:20px; }
#page-onboarding .ask-table th {
    text-align:left; font-size:0.82rem; font-weight:600; color:var(--ink-faint);
    padding:0 0 12px; border-bottom:1px solid var(--line);
  }
#page-onboarding .ask-table td {
    padding:18px 0; border-bottom:1px solid var(--line);
    vertical-align:top; font-size:0.96rem; color:var(--ink-soft);
  }
#page-onboarding .ask-table td:first-child { font-weight:600; color:var(--ink); padding-right:28px; width:42%; }
#page-onboarding .ask-table tr:last-child td { border-bottom:none; }
#page-onboarding .ask-table a.inline-link {
    color:var(--green); font-weight:600; text-decoration:underline; text-underline-offset:3px;
  }
@media (max-width:700px){
#page-onboarding .ask-table,
  #page-onboarding .ask-table thead,
  #page-onboarding .ask-table tbody,
  #page-onboarding .ask-table th,
  #page-onboarding .ask-table td,
  #page-onboarding .ask-table tr { display:block; }
#page-onboarding .ask-table thead { display:none; }
#page-onboarding .ask-table tr {
      background:var(--white); border:1px solid var(--line);
      border-radius:var(--radius-sm); padding:18px 20px; margin-bottom:12px;
    }
#page-onboarding .ask-table td { border-bottom:none; padding:4px 0; width:auto; }
#page-onboarding .ask-table td:first-child { padding-right:0; }
}

  /* ================================================
     MISSION & VALUES PAGE STYLES
     ================================================ */
  #page-mission-values{ --maxw: 880px; }

  #page-mission-values .page-header{ padding:28px 0 40px; }
  #page-mission-values .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-mission-values .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-mission-values .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #page-mission-values .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #page-mission-values .page-header .lede:last-child{ margin-bottom:0; }

  #page-mission-values section{ padding:52px 0; border-top:1px solid var(--line); }
  #page-mission-values section:first-of-type{ border-top:none; }
  #page-mission-values .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-mission-values .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-mission-values h2{
    font-size:clamp(1.35rem, 2.6vw, 1.7rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 18px;
  }
  #page-mission-values h3{ font-size:1.05rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #page-mission-values p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.65; font-size:1rem; }
  #page-mission-values p:last-child{ margin-bottom:0; }

  /* Value cards */
  #page-mission-values .values-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin-top:20px;
  }
  @media (max-width:900px){ #page-mission-values .values-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:600px){ #page-mission-values .values-grid{ grid-template-columns:1fr; } }

  #page-mission-values .value-card{
    border-radius:var(--radius-md); padding:24px 22px; box-shadow:var(--shadow-card);
  }
  #page-mission-values .value-card h3{ margin:0 0 10px; }
  #page-mission-values .value-card p{ font-size:0.92rem; margin:0 0 10px; }
  #page-mission-values .value-card p:last-child{ margin-bottom:0; }

  #page-mission-values .value-card.dark{ background:var(--black); color:var(--white); }
  #page-mission-values .value-card.dark p{ color:rgba(255,255,255,0.68); }
  #page-mission-values .value-card.light{ background:var(--white); color:var(--ink); border:1px solid var(--line); }
  #page-mission-values .value-card.light p{ color:var(--ink-soft); }
  #page-mission-values .value-card.mute{ background:var(--bg-panel); color:var(--ink); border:1px solid var(--line); }
  #page-mission-values .value-card.mute p{ color:var(--ink-soft); }
  #page-mission-values .value-card.tint{ background:var(--green-tint); color:var(--green-deep); }
  #page-mission-values .value-card.tint p{ color:#3D5F51; }

  /* Values-in-practice list */
  #page-mission-values .practice-list{ display:grid; gap:12px; margin-top:20px; }
  #page-mission-values .practice-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:18px 20px;
  }
  #page-mission-values .practice-item h3{ margin:0 0 6px; font-size:0.98rem; }
  #page-mission-values .practice-item p{ margin:0; font-size:0.94rem; }

  /* Early-stage responsibility callout */
  #page-mission-values .responsibility-block{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:30px 32px;
  }
  #page-mission-values .responsibility-block h2{ margin-bottom:14px; }

  /* Closing statement */
  #page-mission-values .closing-block{ max-width:70ch; }

  /* Final CTA */
  #page-mission-values .cta-feature{
    background:var(--green-deep);
    background-image:radial-gradient(120% 140% at 0% 0%, #1E5942 0%, #163F31 55%, #10302664 100%);
    border-radius:var(--radius-lg); padding:44px 40px;
    color:var(--white); position:relative; overflow:hidden;
  }
  #page-mission-values .cta-feature::after{
    content:""; position:absolute; right:-50px; top:-50px;
    width:200px; height:200px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.08);
  }
  #page-mission-values .cta-feature p{ color:rgba(255,255,255,0.78); position:relative; z-index:1; }
  #page-mission-values .cta-feature .btn{ position:relative; z-index:1; margin-top:6px; }
  #page-mission-values .cta-feature .section-label{ color:var(--green-on-black); }
  #page-mission-values .cta-feature .section-label::before{ background:var(--green-on-black); }
  #page-mission-values .cta-feature h2{ color:var(--white); }

  /* Buttons (scoped copy, matching established Hub button system) */
  #page-mission-values .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #page-mission-values .btn:hover{ transform:translateY(-1px); }
  #page-mission-values .btn-light{ background:var(--white); color:var(--green-deep); }
  #page-mission-values .btn-light:hover{ background:#EFEFEA; }
  #page-mission-values .btn-light .arrow-circle{ color:var(--green-deep); border-color:var(--green-deep); }
  #page-mission-values .arrow-circle{
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #page-mission-values .arrow-circle svg{ width:13px; height:13px; }

  @media (max-width:560px){ #page-mission-values .btn{ width:100%; justify-content:center; } }

  /* ================================================
     CODE OF CONDUCT PAGE STYLES
     ================================================ */
  #page-code-of-conduct{ --maxw: 880px; }

  #page-code-of-conduct .page-header{ padding:28px 0 32px; }
  #page-code-of-conduct .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-code-of-conduct .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-code-of-conduct .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #page-code-of-conduct .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #page-code-of-conduct .page-header .lede:last-child{ margin-bottom:0; }

  /* Jump navigation */
  #page-code-of-conduct .jump-nav{
    display:flex; flex-wrap:wrap; gap:8px;
    padding:20px 0 32px;
  }
  #page-code-of-conduct .jump-nav a{
    font-size:0.84rem; font-weight:500; color:var(--ink-soft);
    background:var(--white); border:1px solid var(--line);
    border-radius:999px; padding:8px 14px;
    transition:border-color .15s ease, color .15s ease;
  }
  #page-code-of-conduct .jump-nav a:hover{ border-color:var(--green); color:var(--ink); }

  #page-code-of-conduct section{ padding:44px 0; border-top:1px solid var(--line); scroll-margin-top:20px; }
  #page-code-of-conduct section:first-of-type{ border-top:none; }
  #page-code-of-conduct h2{
    font-size:clamp(1.3rem, 2.4vw, 1.6rem);
    letter-spacing:-0.02em; line-height:1.3; font-weight:700;
    margin:0 0 18px;
    display:flex; align-items:baseline; gap:8px;
  }
  #page-code-of-conduct .sec-num{ color:var(--green); font-weight:700; }
  #page-code-of-conduct h3{ font-size:1.02rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #page-code-of-conduct p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.65; font-size:1rem; }
  #page-code-of-conduct p:last-child{ margin-bottom:0; }

  /* Bracket / legal-review notes */
  #page-code-of-conduct .bracket-note{
    font-size:0.92rem; font-style:italic; color:var(--ink-faint);
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:12px 16px;
    margin:0 0 16px;
  }

  /* Values reference line (links out to Mission & Values instead of repeating the cards) */
  #page-code-of-conduct .values-ref{
    font-size:0.94rem; color:var(--ink-soft);
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-sm); padding:14px 16px;
    margin-top:16px;
  }
  #page-code-of-conduct .values-ref:last-child{ margin-bottom:0; }

  /* Practice / principle list */
  #page-code-of-conduct .practice-list{ display:grid; gap:12px; margin-top:8px; }
  #page-code-of-conduct .practice-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:18px 20px;
  }
  #page-code-of-conduct .practice-item h3{ margin:0 0 6px; font-size:0.98rem; }
  #page-code-of-conduct .practice-item p{ margin:0 0 6px; font-size:0.94rem; }
  #page-code-of-conduct .practice-item p:last-child{ margin-bottom:0; }

  /* Bullet lists */
  #page-code-of-conduct .bullets{ display:grid; gap:10px; margin:0; padding:0; list-style:none; }
  #page-code-of-conduct .bullets li{
    display:flex; gap:12px; align-items:flex-start;
    font-size:0.98rem; color:var(--ink-soft); line-height:1.6;
  }
  #page-code-of-conduct .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:9px;
  }
  #page-code-of-conduct .bullets.quote-bullets li{ font-style:italic; color:var(--ink); }

  /* Inline link */
  #page-code-of-conduct .inline-link{
    color:var(--green); font-weight:600; text-decoration:underline; text-underline-offset:3px;
  }

  /* Reporting callout */
  #page-code-of-conduct .reporting-callout{
    display:grid; grid-template-columns:1fr 1fr; gap:16px;
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:24px 26px; margin-top:20px;
  }
  @media (max-width:640px){ #page-code-of-conduct .reporting-callout{ grid-template-columns:1fr; } }
  #page-code-of-conduct .reporting-label{
    font-size:0.82rem; font-weight:600; color:var(--green-deep); margin:0 0 8px;
  }
  #page-code-of-conduct .reporting-callout .bracket-note{ background:var(--white); margin:0; }

  /* Final CTA */
  #page-code-of-conduct .cta-feature{
    background:var(--green-deep);
    background-image:radial-gradient(120% 140% at 0% 0%, #1E5942 0%, #163F31 55%, #10302664 100%);
    border-radius:var(--radius-lg); padding:44px 40px;
    color:var(--white); position:relative; overflow:hidden;
  }
  #page-code-of-conduct .cta-feature::after{
    content:""; position:absolute; right:-50px; top:-50px;
    width:200px; height:200px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.08);
  }
  #page-code-of-conduct .cta-feature p{ color:rgba(255,255,255,0.78); position:relative; z-index:1; }
  #page-code-of-conduct .cta-feature .btn{ position:relative; z-index:1; margin-top:6px; }
  #page-code-of-conduct .cta-feature .section-label{ color:var(--green-on-black); display:flex; align-items:center; gap:8px; font-size:0.8rem; font-weight:500; margin:0 0 14px; }
  #page-code-of-conduct .cta-feature .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green-on-black); display:inline-block; }
  #page-code-of-conduct .cta-feature h2{ color:var(--white); display:block; }

  /* Buttons (scoped copy, matching established Hub button system) */
  #page-code-of-conduct .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #page-code-of-conduct .btn:hover{ transform:translateY(-1px); }
  #page-code-of-conduct .btn-light{ background:var(--white); color:var(--green-deep); }
  #page-code-of-conduct .btn-light:hover{ background:#EFEFEA; }
  #page-code-of-conduct .btn-light .arrow-circle{ color:var(--green-deep); border-color:var(--green-deep); }
  #page-code-of-conduct .arrow-circle{
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #page-code-of-conduct .arrow-circle svg{ width:13px; height:13px; }

  @media (max-width:560px){ #page-code-of-conduct .btn{ width:100%; justify-content:center; } }

  /* ================================================
     RESEARCH PAGE PLACEHOLDERS (shared, reused across
     all not-yet-built research destinations)
     ================================================ */
  .stub-page{ --maxw: 880px; }
  .stub-page .page-header{ padding:28px 0 32px; }
  .stub-page .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 8px;
  }
  .stub-note{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:26px 28px; max-width:60ch;
  }
  .stub-note p{ margin:0; color:var(--ink-soft); font-size:1rem; line-height:1.6; }
  .stub-note a{ color:var(--green); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

  /* ================================================
     TIPS, REQUESTS & VERIFICATION PAGE STYLES
     ================================================ */
  #page-tips-requests-verification{ --maxw: 880px; }

  #page-tips-requests-verification .page-header{ padding:28px 0 0; }
  #page-tips-requests-verification .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-tips-requests-verification .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-tips-requests-verification .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #page-tips-requests-verification .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 28px;
  }

  #page-tips-requests-verification .private-note{
    display:flex; gap:14px; align-items:flex-start;
    background:var(--black); color:var(--white);
    border-radius:var(--radius-md); padding:22px 24px;
    margin:0 0 8px;
  }
  #page-tips-requests-verification .private-note svg{ flex:none; margin-top:2px; color:var(--green-on-black); }
  #page-tips-requests-verification .private-note p{ margin:0; font-size:0.94rem; line-height:1.6; color:rgba(255,255,255,0.72); }

  #page-tips-requests-verification section{ padding:52px 0; border-top:1px solid var(--line); }
  #page-tips-requests-verification section:first-of-type{ border-top:none; }
  #page-tips-requests-verification .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-tips-requests-verification .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-tips-requests-verification h2{
    font-size:clamp(1.35rem, 2.6vw, 1.7rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 18px;
  }
  #page-tips-requests-verification h3{ font-size:1.02rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #page-tips-requests-verification p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.65; font-size:1rem; }
  #page-tips-requests-verification p:last-child{ margin-bottom:0; }

  /* Use-case cards */
  #page-tips-requests-verification .use-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-top:8px;
  }
  @media (max-width:900px){ #page-tips-requests-verification .use-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:600px){ #page-tips-requests-verification .use-grid{ grid-template-columns:1fr; } }
  #page-tips-requests-verification .use-card{
    border-radius:var(--radius-md); padding:20px 20px 18px; box-shadow:var(--shadow-card);
  }
  #page-tips-requests-verification .use-card h3{ margin:0 0 8px; font-size:0.96rem; }
  #page-tips-requests-verification .use-card p{ font-size:0.88rem; margin:0; }
  #page-tips-requests-verification .use-card.dark{ background:var(--black); color:var(--white); }
  #page-tips-requests-verification .use-card.dark p{ color:rgba(255,255,255,0.66); }
  #page-tips-requests-verification .use-card.light{ background:var(--white); color:var(--ink); border:1px solid var(--line); }
  #page-tips-requests-verification .use-card.light p{ color:var(--ink-soft); }
  #page-tips-requests-verification .use-card.mute{ background:var(--bg-panel); color:var(--ink); border:1px solid var(--line); }
  #page-tips-requests-verification .use-card.mute p{ color:var(--ink-soft); }
  #page-tips-requests-verification .use-card.tint{ background:var(--green-tint); color:var(--green-deep); }
  #page-tips-requests-verification .use-card.tint p{ color:#3D5F51; }

  /* Numbered steps (reused pattern) */
  #page-tips-requests-verification .steps{ display:grid; gap:16px; margin-top:8px; }
  #page-tips-requests-verification .step{
    display:flex; gap:18px;
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 24px;
  }
  #page-tips-requests-verification .step-num{
    flex:none; width:34px; height:34px; border-radius:50%;
    background:var(--black); color:var(--white);
    display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono', monospace; font-size:0.85rem; font-weight:500;
  }
  #page-tips-requests-verification .step h3{ margin:2px 0 6px; }
  #page-tips-requests-verification .step p{ margin:0; }

  /* Where this route fits */
  #page-tips-requests-verification .fits-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:8px;
  }
  @media (max-width:700px){ #page-tips-requests-verification .fits-grid{ grid-template-columns:1fr; } }
  #page-tips-requests-verification .fits-card{
    border-radius:var(--radius-md); padding:22px 24px;
  }
  #page-tips-requests-verification .fits-card.outline{ background:var(--white); border:1px solid var(--line); }
  #page-tips-requests-verification .fits-card.tint{ background:var(--green-tint-soft); border:1px solid #D9E7DF; }
  #page-tips-requests-verification .fits-card h3{ margin-bottom:8px; }
  #page-tips-requests-verification .fits-card p{ margin:0; font-size:0.94rem; }

  /* ---- Form ---- */
  #page-tips-requests-verification .tips-form{ margin-top:8px; }
  #page-tips-requests-verification .field{ margin-bottom:22px; }
  #page-tips-requests-verification .field-label{
    display:block; font-size:0.94rem; font-weight:600; color:var(--ink); margin-bottom:6px;
  }
  #page-tips-requests-verification .field-label .optional{
    font-weight:500; color:var(--ink-faint); font-size:0.82rem; margin-left:6px;
  }
  #page-tips-requests-verification .field-help{
    font-size:0.84rem; color:var(--ink-faint); margin:6px 0 0; line-height:1.5;
  }
  #page-tips-requests-verification input[type="text"],
  #page-tips-requests-verification input[type="email"],
  #page-tips-requests-verification select,
  #page-tips-requests-verification textarea{
    width:100%; font-family:inherit; font-size:0.96rem; color:var(--ink);
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius-sm);
    padding:12px 14px; line-height:1.5;
  }
  #page-tips-requests-verification textarea{ min-height:130px; resize:vertical; }
  #page-tips-requests-verification input:disabled{ background:var(--bg-panel); color:var(--ink-faint); }
  #page-tips-requests-verification input:focus-visible,
  #page-tips-requests-verification select:focus-visible,
  #page-tips-requests-verification textarea:focus-visible{
    outline:2.5px solid var(--green); outline-offset:2px;
  }

  #page-tips-requests-verification .radio-group{ display:flex; flex-wrap:wrap; gap:10px; }
  #page-tips-requests-verification .radio-pill{
    display:flex; align-items:center; gap:9px;
    border:1px solid var(--line); border-radius:999px;
    padding:10px 16px; background:var(--white); cursor:pointer;
    font-size:0.92rem; color:var(--ink-soft);
    transition:border-color .15s ease, background .15s ease;
  }
  #page-tips-requests-verification .radio-pill:has(input:checked){
    border-color:var(--green); background:var(--green-tint-soft); color:var(--ink);
  }
  #page-tips-requests-verification .radio-pill input{
    width:15px; height:15px; accent-color:var(--green); margin:0;
  }
  #page-tips-requests-verification .radio-pill input:focus-visible{
    outline:2.5px solid var(--green); outline-offset:2px;
  }

  #page-tips-requests-verification .form-error{
    display:none;
    background:var(--bg-panel); border:1px solid var(--line);
    border-left:3px solid var(--green);
    border-radius:var(--radius-sm); padding:16px 18px;
    margin:0 0 22px;
  }
  #page-tips-requests-verification .form-error.visible{ display:block; }
  #page-tips-requests-verification .form-error p{ margin:0; font-size:0.92rem; color:var(--ink); }
  #page-tips-requests-verification .form-error ul{ margin:0; padding-left:18px; }
  #page-tips-requests-verification .form-error li{ font-size:0.92rem; color:var(--ink); line-height:1.6; }

  #page-tips-requests-verification .submit-row{
    display:flex; align-items:center; gap:14px; margin-top:8px;
  }
  #page-tips-requests-verification .sending-note{
    font-size:0.86rem; color:var(--ink-faint);
  }

  /* Success state */
  #page-tips-requests-verification .success-block{
    display:none;
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-lg); padding:36px 38px; text-align:left;
  }
  #page-tips-requests-verification .success-block.visible{ display:block; }
  #page-tips-requests-verification .success-block h2{ color:var(--green-deep); }
  #page-tips-requests-verification .success-block p{ color:#3D5F51; }

  /* What happens next callout */
  #page-tips-requests-verification .next-callout{
    background:var(--green-deep);
    background-image:radial-gradient(120% 140% at 0% 0%, #1E5942 0%, #163F31 55%, #10302664 100%);
    border-radius:var(--radius-lg); padding:38px 40px;
    color:var(--white); position:relative; overflow:hidden;
  }
  #page-tips-requests-verification .next-callout::after{
    content:""; position:absolute; right:-50px; top:-50px;
    width:200px; height:200px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.08);
  }
  #page-tips-requests-verification .next-callout p{ color:rgba(255,255,255,0.78); position:relative; z-index:1; }
  #page-tips-requests-verification .next-callout .note{
    margin-top:16px; padding-top:16px;
    border-top:1px solid rgba(255,255,255,0.14);
    font-size:0.9rem; color:rgba(255,255,255,0.66);
  }

  /* Buttons (scoped copy, matching established Hub button system) */
  #page-tips-requests-verification .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #page-tips-requests-verification .btn:hover{ transform:translateY(-1px); }
  #page-tips-requests-verification .btn:disabled{ opacity:0.6; cursor:not-allowed; transform:none; }
  #page-tips-requests-verification .btn-primary{ background:var(--black); color:var(--white); }
  #page-tips-requests-verification .btn-primary:hover{ background:var(--black-soft); }
  #page-tips-requests-verification .btn-primary .arrow-circle{ color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
  #page-tips-requests-verification .arrow-circle{
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #page-tips-requests-verification .arrow-circle svg{ width:13px; height:13px; }

  @media (max-width:560px){
    #page-tips-requests-verification .btn{ width:100%; justify-content:center; }
    #page-tips-requests-verification .submit-row{ flex-direction:column; align-items:stretch; }
  }

  /* ================================================
     ACCESS GATE (global, sits outside any page scope)
     ================================================ */
  .gate{
    position:fixed; inset:0; z-index:500;
    background:var(--bg);
    display:flex; align-items:center; justify-content:center;
    padding:24px;
  }
  .gate-panel{
    background:var(--black); color:var(--white);
    border-radius:var(--radius-lg); padding:44px 36px;
    max-width:420px; width:100%;
    box-shadow:0 30px 70px -24px rgba(0,0,0,0.45);
  }
  .gate-eyebrow{
    font-size:0.8rem; font-weight:500; color:var(--green-on-black);
    margin:0 0 20px; display:flex; align-items:center; gap:8px;
  }
  .gate-eyebrow::before{ content:""; width:16px; height:1.5px; background:var(--green-on-black); display:inline-block; }
  .gate-brand{
    display:flex; flex-direction:column; align-items:center;
    gap:14px; margin-bottom:32px; text-align:center;
  }
  .gate-mark{
    width:100%; max-width:220px; min-height:64px;
    border-radius:12px;
    background:var(--white); position:relative;
    display:flex; align-items:center; justify-content:center;
    padding:14px 20px; overflow:hidden;
  }
  .gate-mark-img{
    display:block; max-width:100%; max-height:56px; width:auto; height:auto;
    object-fit:contain;
  }
  .gate-brand-sub{ margin:0; font-size:0.86rem; color:rgba(255,255,255,0.6); }
  .gate-field{ margin-bottom:14px; }
  .gate-label{ display:block; font-size:0.88rem; font-weight:600; color:rgba(255,255,255,0.85); margin-bottom:8px; }
  .gate-input{
    width:100%; font-family:inherit; font-size:0.98rem; color:var(--white);
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.16);
    border-radius:var(--radius-sm); padding:13px 14px; line-height:1.5;
  }
  .gate-input::placeholder{ color:rgba(255,255,255,0.38); }
  .gate-input:focus-visible{ outline:2.5px solid var(--green-on-black); outline-offset:2px; }
  .gate-error{
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14);
    border-left:3px solid var(--green-on-black);
    border-radius:var(--radius-sm); padding:12px 14px; margin-bottom:16px;
    font-size:0.88rem; color:rgba(255,255,255,0.82); line-height:1.5;
  }
  .gate-btn{
    width:100%; display:flex; align-items:center; justify-content:center; gap:12px;
    font-weight:600; font-size:0.98rem; font-family:inherit;
    background:var(--white); color:var(--black);
    border:1px solid transparent; border-radius:999px;
    padding:14px 20px; cursor:pointer;
    transition:transform .15s ease, background .15s ease, opacity .15s ease;
    margin-top:6px;
  }
  .gate-btn:hover{ background:#EFEFEA; transform:translateY(-1px); }
  .gate-btn:disabled{ opacity:0.65; cursor:not-allowed; transform:none; }
  .gate-btn .arrow-circle{
    width:30px; height:30px; border-radius:50%;
    border:1px solid var(--black); color:var(--black);
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  .gate-btn .arrow-circle svg{ width:12px; height:12px; }
  .gate-support{ margin-top:24px; text-align:center; }
  .gate-support p{ margin:0 0 8px; font-size:0.86rem; color:rgba(255,255,255,0.55); }
  .gate-request-btn{
    background:none; border:none; padding:0; font-family:inherit;
    font-size:0.88rem; font-weight:600; color:var(--green-on-black);
    text-decoration:underline; text-underline-offset:3px; cursor:pointer;
  }
  .gate-security-note{
    margin:24px 0 0; padding-top:20px; border-top:1px solid rgba(255,255,255,0.12);
    font-size:0.8rem; color:rgba(255,255,255,0.45); text-align:center;
  }
  @media (max-width:480px){
    .gate-panel{ padding:36px 26px; }
  }

  /* ================================================
     REQUEST ACCESS MODAL (global)
     ================================================ */
  .ra-modal{
    position:fixed; inset:0; z-index:600;
    background:rgba(11,12,10,0.6);
    display:flex; align-items:center; justify-content:center;
    padding:24px;
    overflow-y:auto;
  }
  .ra-modal-panel{
    position:relative;
    background:var(--white); color:var(--ink);
    border-radius:var(--radius-lg); padding:38px 32px 32px;
    max-width:480px; width:100%;
    max-height:calc(100vh - 48px);
    overflow-y:auto;
    box-shadow:0 30px 70px -24px rgba(0,0,0,0.5);
  }
  .ra-modal-x{
    position:absolute; top:16px; right:16px;
    width:32px; height:32px; border-radius:50%;
    background:var(--bg-panel); border:1px solid var(--line);
    color:var(--ink-soft); cursor:pointer;
    display:flex; align-items:center; justify-content:center;
  }
  .ra-modal-x svg{ width:14px; height:14px; }
  .ra-modal-x:hover{ border-color:var(--ink-faint); color:var(--ink); }
  .ra-modal-heading{
    margin:0 0 12px; padding-right:32px;
    font-size:1.35rem; font-weight:700; letter-spacing:-0.02em; line-height:1.25;
    color:var(--ink);
  }
  .ra-modal-text{ margin:0 0 22px; font-size:0.94rem; line-height:1.6; color:var(--ink-soft); }

  .ra-form-error{
    background:var(--bg-panel); border:1px solid var(--line);
    border-left:3px solid var(--green);
    border-radius:var(--radius-sm); padding:14px 16px;
    margin:0 0 20px; font-size:0.9rem; color:var(--ink); line-height:1.55;
  }

  .ra-field{ margin-bottom:16px; }
  .ra-label{ display:block; font-size:0.88rem; font-weight:600; color:var(--ink); margin-bottom:6px; }
  .ra-optional{ font-weight:500; color:var(--ink-faint); font-size:0.8rem; margin-left:4px; }
  #raForm input[type="text"]{
    width:100%; font-family:inherit; font-size:0.94rem; color:var(--ink);
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius-sm);
    padding:11px 13px; line-height:1.5;
  }
  #raForm input[type="text"]:focus-visible{
    outline:2.5px solid var(--green); outline-offset:2px;
  }

  .ra-submit-row{ margin-top:22px; }
  .ra-submit-row .gate-btn{ margin-top:0; }
  .ra-helper{ margin:12px 0 0; font-size:0.82rem; color:var(--ink-faint); line-height:1.5; text-align:center; }

  .ra-success{ text-align:left; }
  .ra-success .gate-btn{ margin-top:8px; width:auto; padding-left:26px; padding-right:26px; }

  @media (max-width:480px){
    .ra-modal-panel{ padding:32px 22px 26px; }
  }

  /* Dark gate-btn is reused on the light modal, so restyle it there for contrast */
  .ra-modal-panel .gate-btn{
    background:var(--black); color:var(--white);
  }
  .ra-modal-panel .gate-btn:hover{ background:var(--black-soft); }
  .ra-modal-panel .gate-btn:disabled{ opacity:0.6; }
  .ra-modal-panel .gate-btn .arrow-circle{
    border-color:rgba(255,255,255,0.4); color:var(--white);
  }

  /* ================================================
     HUB USER BAR (logout / admin badge, global)
     ================================================ */
  .hub-user-bar{
    position:fixed; top:16px; right:16px; z-index:400;
    display:flex; align-items:center; gap:8px;
  }
  .admin-badge{
    font-size:0.74rem; font-weight:600; color:var(--green-deep);
    background:var(--green-tint); border:1px solid #CFE4D9;
    border-radius:999px; padding:6px 12px;
  }
  .logout-btn{
    font-family:inherit; font-size:0.84rem; font-weight:600; color:var(--ink);
    background:var(--white); border:1px solid var(--line);
    border-radius:999px; padding:8px 16px; cursor:pointer;
    box-shadow:0 4px 14px -6px rgba(20,20,15,0.25);
    transition:border-color .15s ease, transform .15s ease;
  }
  .logout-btn:hover{ border-color:var(--green); transform:translateY(-1px); }

  /* ================================================
     CONTRIBUTOR DIRECTORY PAGE STYLES
     ================================================ */
  #page-contributor-directory{ --maxw: 1000px; }

  #page-contributor-directory .page-header{ padding:28px 0 24px; }
  #page-contributor-directory .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-contributor-directory .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-contributor-directory .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 18px;
  }
  #page-contributor-directory .page-header .lede{
    font-size:1.04rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0;
  }

  #page-contributor-directory .cd-privacy-note{
    display:flex; gap:12px; align-items:flex-start;
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:14px 16px;
    margin:24px 0 32px;
  }
  #page-contributor-directory .cd-privacy-note svg{ flex:none; margin-top:2px; color:var(--green); }
  #page-contributor-directory .cd-privacy-note p{ margin:0; font-size:0.88rem; line-height:1.55; color:var(--ink-soft); }

  #page-contributor-directory .cd-controls{
    display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px;
    margin-bottom:16px;
  }
  #page-contributor-directory .cd-search-wrap{ flex:1 1 260px; }
  #page-contributor-directory .cd-filter-wrap{ flex:0 1 200px; }
  #page-contributor-directory .field-label{
    display:block; font-size:0.86rem; font-weight:600; color:var(--ink); margin-bottom:6px;
  }
  #page-contributor-directory input[type="text"],
  #page-contributor-directory select{
    width:100%; font-family:inherit; font-size:0.94rem; color:var(--ink);
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius-sm);
    padding:11px 13px; line-height:1.5;
  }
  #page-contributor-directory input:focus-visible,
  #page-contributor-directory select:focus-visible{
    outline:2.5px solid var(--green); outline-offset:2px;
  }
  #page-contributor-directory .cd-clear-btn{
    font-family:inherit; font-size:0.88rem; font-weight:600; color:var(--ink-soft);
    background:var(--white); border:1px solid var(--line); border-radius:999px;
    padding:11px 18px; cursor:pointer; white-space:nowrap;
    transition:border-color .15s ease;
  }
  #page-contributor-directory .cd-clear-btn:hover{ border-color:var(--ink-faint); }

  #page-contributor-directory .cd-result-count{
    font-size:0.86rem; color:var(--ink-faint); margin:0 0 20px;
  }

  #page-contributor-directory .cd-state{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:32px 28px; text-align:center;
    margin-bottom:8px;
  }
  #page-contributor-directory .cd-state h2{ font-size:1.1rem; margin:0 0 8px; }
  #page-contributor-directory .cd-state p{ margin:0; font-size:0.92rem; color:var(--ink-soft); }

  #page-contributor-directory .cd-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:14px;
  }
  @media (max-width:700px){ #page-contributor-directory .cd-grid{ grid-template-columns:1fr; } }

  #page-contributor-directory .cd-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 22px;
  }
  #page-contributor-directory .cd-card h3{
    font-size:1.02rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 4px;
  }
  #page-contributor-directory .cd-role{
    font-size:0.84rem; font-weight:600; color:var(--green); margin:0 0 14px;
  }
  #page-contributor-directory .cd-row{ margin-bottom:10px; }
  #page-contributor-directory .cd-row:last-child{ margin-bottom:0; }
  #page-contributor-directory .cd-row-label{
    display:block; font-size:0.76rem; font-weight:600; color:var(--ink-faint);
    margin-bottom:2px;
  }
  #page-contributor-directory .cd-row-value{
    display:block; font-size:0.9rem; color:var(--ink-soft); line-height:1.5;
  }
  @media (max-width:560px){
    #page-contributor-directory .cd-controls{ flex-direction:column; align-items:stretch; }
    #page-contributor-directory .cd-clear-btn{ width:100%; }
  }

  /* ================================================
     WHAT WE ARE WORKING ON NOW — PAGE STYLES
     ================================================ */
  #working-on-now{ --maxw: 880px; }

  #working-on-now .page-header{ padding:28px 0 0; }
  #working-on-now .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #working-on-now .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #working-on-now .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #working-on-now .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 28px;
  }

  #working-on-now .research-note{
    display:flex; gap:14px; align-items:flex-start;
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 20px;
    margin:0 0 8px;
  }
  #working-on-now .research-note svg{ flex:none; margin-top:2px; color:var(--green); }
  #working-on-now .research-note p{ margin:0; font-size:0.9rem; line-height:1.6; color:var(--ink-soft); }

  #working-on-now section{ padding:52px 0; border-top:1px solid var(--line); scroll-margin-top:90px; }
  #working-on-now section:first-of-type{ border-top:none; }
  #working-on-now .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #working-on-now .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #working-on-now h2{
    font-size:clamp(1.35rem, 2.6vw, 1.7rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 18px;
    scroll-margin-top:90px;
  }
  #working-on-now h3{ font-size:1.05rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #working-on-now p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.65; font-size:1rem; }
  #working-on-now p:last-child{ margin-bottom:0; }
  #working-on-now .sr-only-heading{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }

  /* Status badges (shared across legend + work areas) */
  #working-on-now .status-badge{
    display:inline-flex; align-items:center;
    font-size:0.76rem; font-weight:600;
    padding:5px 12px; border-radius:999px;
    margin-bottom:12px;
  }
  #working-on-now .status-active-now{ background:var(--green-tint); color:var(--green-deep); }
  #working-on-now .status-researching{ background:var(--bg-panel); color:var(--ink-soft); border:1px solid var(--line); }
  #working-on-now .status-prototype{ background:var(--black); color:var(--white); }
  #working-on-now .status-future{ background:var(--white); color:var(--ink-soft); border:1px solid var(--line); }
  #working-on-now .status-notclaim{ background:var(--white); color:var(--ink-faint); border:1px dashed var(--line); }
  #working-on-now .status-planning{ background:var(--green-tint-soft); color:var(--green-deep); border:1px solid #D9E7DF; }

  /* Status legend */
  #working-on-now .legend-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-top:8px;
  }
  @media (max-width:900px){ #working-on-now .legend-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:600px){ #working-on-now .legend-grid{ grid-template-columns:1fr; } }
  #working-on-now .legend-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
  }
  #working-on-now .legend-item p{ font-size:0.88rem; margin:0; }

  /* FYI callout */
  #working-on-now .fyi-callout{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:28px 30px;
  }
  #working-on-now .fyi-callout h2{ margin-bottom:10px; }
  #working-on-now .fyi-callout p{ margin:0; }

  /* Contributor guidance + example chips */
  #working-on-now .guidance-examples{
    display:grid; gap:10px; margin-top:18px;
  }

  /* Example update chips (shared style, used in guidance + per work area) */
  #working-on-now .example-update{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:12px 16px;
    font-size:0.9rem; color:var(--ink-soft); line-height:1.55;
    margin:0 0 8px;
  }
  #working-on-now .example-update:last-child{ margin-bottom:0; }

  /* Find a place to jump in */
  #working-on-now .fit-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; margin-top:20px;
  }
  @media (max-width:700px){ #working-on-now .fit-grid{ grid-template-columns:1fr; } }
  #working-on-now .fit-card{
    position:relative; display:block;
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 52px 20px 22px;
    transition:border-color .15s ease, transform .15s ease;
  }
  #working-on-now .fit-card:hover{ border-color:var(--green); transform:translateY(-2px); }
  #working-on-now .fit-card h3{ margin:0 0 8px; font-size:1rem; }
  #working-on-now .fit-card p{ margin:0; font-size:0.9rem; }
  #working-on-now .fit-card .arrow-circle{
    position:absolute; top:20px; right:20px;
    width:30px; height:30px; color:var(--ink-faint); border-color:var(--line);
  }
  #working-on-now .fit-card:hover .arrow-circle{ color:var(--green); border-color:var(--green); }

  /* Current focus feature block */
  #working-on-now .focus-block{
    background:var(--green-deep);
    background-image:radial-gradient(120% 140% at 0% 0%, #1E5942 0%, #163F31 55%, #10302664 100%);
    border-radius:var(--radius-lg); padding:44px 40px;
    color:var(--white); position:relative; overflow:hidden;
  }
  #working-on-now .focus-block::after{
    content:""; position:absolute; right:-50px; top:-50px;
    width:200px; height:200px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.08);
  }
  #working-on-now .focus-block p{ color:rgba(255,255,255,0.78); position:relative; z-index:1; margin:0; }

  /* Work areas */
  #working-on-now .work-areas{ display:grid; gap:16px; margin-top:24px; }
  #working-on-now .work-area{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:30px 28px;
    scroll-margin-top:90px;
  }
  #working-on-now .work-area h3{ font-size:1.2rem; margin:0 0 12px; }
  #working-on-now .work-desc{ font-size:0.98rem; }
  #working-on-now .work-framing{
    background:var(--bg-panel); border-radius:var(--radius-sm);
    padding:12px 14px; font-size:0.88rem; color:var(--ink-soft);
  }
  #working-on-now .work-framing strong{ color:var(--ink); }
  #working-on-now .work-label{
    font-size:0.8rem; font-weight:600; color:var(--ink);
    margin:20px 0 8px; text-transform:none;
  }
  #working-on-now .work-fit{ font-size:0.94rem; }
  #working-on-now .work-weekly{ font-size:0.94rem; font-style:italic; }

  #working-on-now .bullets{ display:grid; gap:9px; margin:0; padding:0; list-style:none; }
  #working-on-now .bullets li{
    display:flex; gap:10px; align-items:flex-start;
    font-size:0.93rem; color:var(--ink-soft); line-height:1.6;
  }
  #working-on-now .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:8px;
  }

  #working-on-now .discord-block{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 20px;
    margin-top:20px;
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px;
  }
  #working-on-now .discord-meta{ margin:0; }
  #working-on-now .discord-cat{
    display:block; font-size:0.74rem; font-weight:600; color:var(--ink-faint);
    text-transform:uppercase; letter-spacing:0.04em; margin-bottom:4px;
  }
  #working-on-now .discord-channel-name{
    display:block; font-size:0.98rem; font-weight:600; color:var(--ink);
  }
  #working-on-now .founder-note-block{ display:block; }
  #working-on-now .founder-note{ margin:0; font-size:0.94rem; color:var(--ink-soft); }

  #working-on-now .when-done{
    margin-top:14px; font-size:0.9rem; color:var(--ink-soft);
  }
  #working-on-now .when-done strong{ color:var(--ink); }
  #working-on-now .when-done code{
    font-family:'IBM Plex Mono', monospace; font-size:0.85em;
    background:var(--bg-panel); padding:2px 6px; border-radius:5px;
  }

  #working-on-now .example-updates{ margin-top:20px; }

  /* Nested subsection within an existing work area (phone research questions) */
  #working-on-now .phone-subarea{
    margin-top:28px; padding-top:26px; border-top:1px dashed var(--line);
    scroll-margin-top:90px;
  }
  #working-on-now .phone-subarea h4{
    font-size:1.05rem; font-weight:700; letter-spacing:-0.01em;
    color:var(--ink); margin:10px 0 10px;
  }
  #working-on-now .prompt-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:16px 0 4px;
  }
  @media (max-width:700px){ #working-on-now .prompt-grid{ grid-template-columns:1fr; } }
  #working-on-now .prompt-group{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:16px 18px;
  }
  #working-on-now .prompt-group h5{
    font-size:0.9rem; font-weight:700; color:var(--ink); margin:0 0 10px;
  }
  #working-on-now .prompt-group .bullets li{ font-size:0.88rem; }

  /* Safety callout */
  #working-on-now .safety-callout{
    background:var(--black); color:var(--white);
    border-radius:var(--radius-lg); padding:32px 34px;
  }
  #working-on-now .safety-callout h2{ color:var(--white); margin-bottom:12px; }
  #working-on-now .safety-callout p{ color:rgba(255,255,255,0.72); margin:0; }

  /* Buttons (scoped copy, matching established Hub button system) */
  #working-on-now .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.94rem;
    padding:13px 18px 13px 20px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #working-on-now .btn:hover{ transform:translateY(-1px); }
  #working-on-now .btn-primary{ background:var(--black); color:var(--white); }
  #working-on-now .btn-primary:hover{ background:var(--black-soft); }
  #working-on-now .btn-primary .arrow-circle{ color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
  #working-on-now .arrow-circle{
    width:32px; height:32px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #working-on-now .arrow-circle svg{ width:12px; height:12px; }

  @media (max-width:560px){
    #working-on-now .discord-block{ flex-direction:column; align-items:stretch; }
    #working-on-now .btn{ width:100%; justify-content:center; }
  }


  /* ================================================
     THE PHONE — PAGE STYLES
     ================================================ */
  #the-phone{ --maxw: 880px; }

  #the-phone .page-header{ padding:28px 0 0; }
  #the-phone .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #the-phone .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #the-phone .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #the-phone .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #the-phone .page-header .lede:last-child{ margin-bottom:0; }

  #the-phone .research-note{
    display:flex; gap:14px; align-items:flex-start;
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 22px;
    margin:28px 0 8px;
  }
  #the-phone .research-note svg{ flex:none; margin-top:2px; color:var(--green); }
  #the-phone .research-note .note-title{ font-weight:700; color:var(--ink); margin:0 0 6px; font-size:0.96rem; }
  #the-phone .research-note p{ margin:0; font-size:0.9rem; line-height:1.6; color:var(--ink-soft); }
  #the-phone .research-note p.note-title{ color: var(--ink); }

  #the-phone section{ padding:52px 0; border-top:1px solid var(--line); }
  #the-phone section:first-of-type{ border-top:none; }
  #the-phone .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #the-phone .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #the-phone h2{
    font-size:clamp(1.35rem, 2.6vw, 1.7rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 18px;
  }
  #the-phone h3{ font-size:1.02rem; font-weight:700; letter-spacing:-0.01em; margin:24px 0 10px; }
  #the-phone h3:first-child{ margin-top:0; }
  #the-phone p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.65; font-size:1rem; }
  #the-phone p:last-child{ margin-bottom:0; }
  #the-phone .sr-only-heading{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }

  /* Concept evolution gallery */
  #the-phone .concept-evolution{ /* section wrapper; no extra rules needed */ }

  #the-phone .concept-gallery{
    display:grid; grid-template-columns:0.9fr 1.35fr 0.9fr; gap:12px; align-items:end;
    margin-top:8px;
  }
  @media (max-width:760px){
    #the-phone .concept-gallery{ grid-template-columns:1fr; }
  }

  #the-phone .concept-figure{ margin:0; }

  #the-phone .concept-image-wrap{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:22px; padding:8px;
    overflow:hidden;
    height:210px;
    display:flex; align-items:center; justify-content:center;
  }
  #the-phone .concept-figure--main .concept-image-wrap{ height:300px; }

  @media (max-width:760px){
    #the-phone .concept-image-wrap{ height:280px; }
    #the-phone .concept-figure--main .concept-image-wrap{ height:320px; }
  }

  #the-phone .concept-image{
    display:block; width:100%; height:100%;
    object-fit:contain; object-position:center;
  }

  #the-phone .concept-figure figcaption.concept-caption{
    margin-top:10px; font-size:0.86rem; font-weight:600; color:var(--ink); text-align:center;
  }

  #the-phone .concept-caption-note{
    margin-top:20px; font-size:0.86rem; color:var(--ink-faint); line-height:1.6;
    text-align:center; max-width:70ch; margin-left:auto; margin-right:auto;
  }

  /* Physical hardware prototype (secondary figure near dimensions) */
  #the-phone .prototype-figure{
    margin-top:24px; max-width:340px;
  }
  #the-phone .prototype-image-wrap{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:22px; padding:14px; overflow:hidden;
    aspect-ratio:4/3;
    display:flex; align-items:center; justify-content:center;
  }
  #the-phone .prototype-image{
    display:block; width:100%; height:100%;
    object-fit:contain; object-position:center;
  }
  #the-phone .prototype-caption{
    display:block; margin-top:10px;
  }
  #the-phone .prototype-caption-title{
    display:block; font-size:0.88rem; font-weight:700; color:var(--ink); margin-bottom:4px;
  }
  #the-phone .prototype-caption-text{
    display:block; font-size:0.82rem; color:var(--ink-faint); line-height:1.55;
  }

  /* Rear rail concept figure */
  #the-phone .rail-figure{
    margin:24px 0 0; max-width:280px;
  }
  #the-phone .rail-image-wrap{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:22px; overflow:hidden;
    aspect-ratio:1/2;
  }
  #the-phone .rail-image{
    display:block; width:100%; height:100%;
    object-fit:cover; object-position:88% 50%;
  }
  #the-phone .rail-figure figcaption{ display:block; margin-top:10px; }
  #the-phone .rail-caption{
    display:block; font-size:0.88rem; font-weight:700; color:var(--ink); margin-bottom:4px;
  }
  #the-phone .rail-caption-text{
    display:block; font-size:0.86rem; color:var(--ink-soft); line-height:1.6;
  }
  #the-phone .rail-note{
    margin-top:12px; font-size:0.84rem; color:var(--ink-faint); line-height:1.6; max-width:520px;
  }

  /* Section 1: feeling cards */
  #the-phone .feel-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; margin-top:20px;
  }
  @media (max-width:900px){ #the-phone .feel-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:520px){ #the-phone .feel-grid{ grid-template-columns:1fr; } }
  #the-phone .feel-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 18px;
  }
  #the-phone .feel-card h3{ margin:0 0 8px; font-size:0.98rem; }
  #the-phone .feel-card p{ font-size:0.88rem; margin:0; }

  /* Section 2: pill diagram */
  #the-phone .pill-diagram-wrap{
    margin-top:28px; display:flex; flex-direction:column; align-items:center; gap:28px;
  }
  #the-phone .pill-diagram{
    position:relative; display:flex; flex-direction:column; align-items:center;
    padding:20px 10px;
  }
  #the-phone .pill-shape{
    position:relative;
    width:130px; height:260px;
    max-width:40vw;
    border:2px solid var(--green);
    border-radius:65px;
    background:var(--green-tint-soft);
    display:flex; align-items:center; justify-content:center;
  }
  #the-phone .pill-label{
    font-size:0.78rem; font-weight:600; color:var(--ink-soft);
    background:var(--white); border:1px solid var(--line);
    border-radius:999px; padding:5px 12px; white-space:nowrap;
  }
  #the-phone .pill-label-top{ margin-bottom:12px; }
  #the-phone .pill-label-bottom{ margin-top:12px; }
  #the-phone .pill-label-mid{
    position:absolute; left:50%; top:50%;
    transform:translate(-50%, -50%);
    max-width:96px; white-space:normal;
    text-align:center; line-height:1.3;
    padding:8px 10px;
  }
  #the-phone .spec-badges{
    display:flex; flex-wrap:wrap; justify-content:center; gap:10px;
  }
  #the-phone .spec-badge{
    font-size:0.82rem; font-weight:600; color:var(--green-deep);
    background:var(--green-tint); border-radius:999px; padding:8px 14px;
  }
  @media (max-width:480px){
    #the-phone .pill-diagram{ padding:20px 10px; }
  }

  /* Table */
  #the-phone .table-wrap{ margin-top:20px; overflow-x:auto; }
  #the-phone .phone-table{ width:100%; border-collapse:collapse; }
  #the-phone .phone-table th{
    text-align:left; font-size:0.8rem; font-weight:600; color:var(--ink-faint);
    padding:0 14px 12px 0; border-bottom:1px solid var(--line);
  }
  #the-phone .phone-table td{
    padding:14px 14px 14px 0; border-bottom:1px solid var(--line);
    vertical-align:top; font-size:0.94rem; color:var(--ink-soft);
  }
  #the-phone .phone-table td:first-child{ font-weight:600; color:var(--ink); }
  #the-phone .phone-table tr:last-child td{ border-bottom:none; }
  @media (max-width:640px){
    #the-phone .phone-table thead{ display:none; }
    #the-phone .phone-table, #the-phone .phone-table tbody, #the-phone .phone-table tr, #the-phone .phone-table td{ display:block; width:100%; }
    #the-phone .phone-table tr{
      border:1px solid var(--line); border-radius:var(--radius-sm);
      padding:14px 16px; margin-bottom:12px;
    }
    #the-phone .phone-table td{ border-bottom:none; padding:4px 0; }
    #the-phone .phone-table td::before{
      content:attr(data-label); display:block; font-size:0.74rem; font-weight:600;
      color:var(--ink-faint); margin-bottom:2px;
    }
  }

  /* Notes */
  #the-phone .contributor-note,
  #the-phone .boundary-note,
  #the-phone .plain-note{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 20px; margin-top:20px;
  }
  #the-phone .contributor-note p,
  #the-phone .boundary-note p,
  #the-phone .plain-note p{ margin:0; font-size:0.92rem; }
  #the-phone .fine-note{ margin-top:16px; font-size:0.86rem; color:var(--ink-faint); }

  /* Section 4: materials */
  #the-phone .material-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-top:20px;
  }
  @media (max-width:760px){ #the-phone .material-grid{ grid-template-columns:1fr; } }
  #the-phone .material-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 20px 18px;
  }
  #the-phone .material-card h3{ margin:0 0 8px; font-size:0.98rem; }
  #the-phone .material-card p{ font-size:0.9rem; margin:0; }

  /* Accessibility callout */
  #the-phone .accessibility-callout{
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:20px 22px; margin-top:20px;
  }
  #the-phone .accessibility-callout p{ margin:0; font-size:0.94rem; color:#3D5F51; }

  /* Section 7: ports */
  #the-phone .port-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-top:20px;
  }
  @media (max-width:760px){ #the-phone .port-grid{ grid-template-columns:1fr; } }
  #the-phone .port-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 18px;
  }
  #the-phone .port-card h3{ margin:0 0 8px; font-size:0.94rem; }
  #the-phone .port-card p{ font-size:0.88rem; margin:0; }

  /* Privacy note */
  #the-phone .privacy-note{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 20px; margin-top:20px;
  }
  #the-phone .privacy-note p{ margin:0; font-size:0.92rem; }

  /* Flow diagrams (Sections 9 & 10) */
  #the-phone .flow-card{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:32px 24px;
    margin:24px 0; display:flex; justify-content:center;
  }
  #the-phone .flow-diagram > div,
  #the-phone .branch-diagram > div{
    display:flex; flex-direction:column; align-items:center; gap:6px;
  }
  #the-phone .flow-node{
    background:var(--white); border:1px solid var(--line);
    border-radius:999px; padding:10px 20px;
    font-size:0.9rem; font-weight:600; color:var(--ink);
    text-align:center;
  }
  #the-phone .flow-node.small{ font-size:0.84rem; padding:9px 16px; }
  #the-phone .flow-arrow{
    color:var(--green); font-size:1.1rem; line-height:1;
  }
  #the-phone .branch-row{
    display:flex; flex-direction:column; gap:10px; margin-top:6px; align-items:flex-start;
  }
  #the-phone .branch-path{ display:flex; align-items:center; gap:10px; }
  #the-phone .branch-symbol{
    color:var(--green); font-family:'IBM Plex Mono', monospace; font-size:1rem;
  }

  /* Dark callout (Section 11) */
  #the-phone .dark-callout{
    background:var(--black); color:var(--white);
    border-radius:var(--radius-lg); padding:30px 28px; margin-top:24px;
  }
  #the-phone .dark-callout h3{ color:var(--white); margin-top:0; }
  #the-phone .dark-callout p{ color:rgba(255,255,255,0.7); }
  #the-phone .dark-bullets li{ color:rgba(255,255,255,0.78); }
  #the-phone .dark-bullets li::before{ background:var(--green-on-black); }

  /* Bullets (shared) */
  #the-phone .bullets{ display:grid; gap:9px; margin:0 0 14px; padding:0; list-style:none; }
  #the-phone .bullets li{
    display:flex; gap:10px; align-items:flex-start;
    font-size:0.94rem; color:var(--ink-soft); line-height:1.6;
  }
  #the-phone .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:8px;
  }

  /* Section 12: parts */
  #the-phone .part-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-top:20px;
  }
  @media (max-width:900px){ #the-phone .part-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ #the-phone .part-grid{ grid-template-columns:1fr; } }
  #the-phone .part-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 18px;
  }
  #the-phone .part-card h3{ margin:0 0 8px; font-size:0.96rem; }
  #the-phone .part-card p{ font-size:0.88rem; margin:0; }

  /* Section 13: question grid */
  #the-phone .question-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:20px;
  }
  @media (max-width:700px){ #the-phone .question-grid{ grid-template-columns:1fr; } }
  #the-phone .question-group{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 22px;
  }
  #the-phone .question-group h3{ margin:0 0 12px; font-size:0.98rem; }
  #the-phone .q-bullets li{ font-size:0.9rem; }

  /* Route note */
  #the-phone .questions-link{ margin-top:24px; }

  #the-phone .route-note{
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:18px 20px; margin-top:20px;
  }
  #the-phone .route-note p{ margin:0; font-size:0.94rem; color:#3D5F51; }
  #the-phone .inline-link{
    color:var(--green-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px;
  }

  /* Buttons (scoped copy, matching established Hub button system) */
  #the-phone .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #the-phone .btn:hover{ transform:translateY(-1px); }
  #the-phone .btn-primary{ background:var(--black); color:var(--white); }
  #the-phone .btn-primary:hover{ background:var(--black-soft); }
  #the-phone .btn-primary .arrow-circle{ color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
  #the-phone .arrow-circle{
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #the-phone .arrow-circle svg{ width:13px; height:13px; }

  @media (max-width:560px){
    #the-phone .btn{
      width:100%; justify-content:center;
      white-space:normal; text-align:center; line-height:1.3;
    }
  }


  /* ================================================
     GAIA — PAGE STYLES
     ================================================ */
  #gaia{ --maxw: 880px; }

  #gaia .page-header{ padding:28px 0 0; }
  #gaia .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #gaia .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #gaia .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #gaia .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #gaia .page-header .lede:last-child{ margin-bottom:0; }

  /* Green tinted intro note */
  #gaia .intro-note{
    display:flex; gap:14px; align-items:flex-start;
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:20px 22px;
    margin:28px 0 8px;
  }
  #gaia .intro-note svg{ flex:none; margin-top:2px; color:var(--green-deep); }
  #gaia .intro-note .note-title{ font-weight:700; color:var(--green-deep); margin:0 0 6px; font-size:0.96rem; }
  #gaia .intro-note p{ margin:0; font-size:0.9rem; line-height:1.6; color:#3D5F51; }
  #gaia .intro-note p.note-title{ color:var(--green-deep); }

  #gaia section{ padding:52px 0; border-top:1px solid var(--line); }
  #gaia section:first-of-type{ border-top:none; }
  #gaia .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #gaia .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #gaia h2{
    font-size:clamp(1.35rem, 2.6vw, 1.7rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 18px;
  }
  #gaia h3{ font-size:1.02rem; font-weight:700; letter-spacing:-0.01em; margin:20px 0 10px; }
  #gaia h3:first-child{ margin-top:0; }
  #gaia p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.65; font-size:1rem; }
  #gaia p:last-child{ margin-bottom:0; }
  #gaia .fine-note{ margin-top:16px; font-size:0.86rem; color:var(--ink-faint); line-height:1.6; }

  #gaia .bullets{ display:grid; gap:9px; margin:0 0 14px; padding:0; list-style:none; }
  #gaia .bullets li{
    display:flex; gap:10px; align-items:flex-start;
    font-size:0.94rem; color:var(--ink-soft); line-height:1.6;
  }
  #gaia .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:8px;
  }

  /* Section 1: timeline row */
  #gaia .timeline-row{
    display:flex; align-items:stretch; gap:14px; margin-top:20px;
  }
  #gaia .timeline-card{
    flex:1; background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 18px;
  }
  #gaia .timeline-label{
    font-size:0.78rem; font-weight:600; color:var(--green); margin:0 0 8px;
  }
  #gaia .timeline-text{ margin:0; font-size:0.94rem; color:var(--ink); font-weight:500; }
  #gaia .timeline-arrow{
    flex:none; display:flex; align-items:center; justify-content:center;
    color:var(--ink-faint); font-size:1.1rem; width:20px;
  }
  #gaia .timeline-support{
    margin-top:18px; font-size:0.92rem; color:var(--ink-faint); font-style:italic;
  }
  @media (max-width:700px){
    #gaia .timeline-row{ flex-direction:column; }
    #gaia .timeline-arrow{ transform:rotate(90deg); width:auto; align-self:center; padding:2px 0; }
  }

  /* Compact scan-friendly grid (used for Section 2 and 9) */
  #gaia .notice-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px;
  }
  @media (max-width:640px){ #gaia .notice-grid{ grid-template-columns:1fr; } }
  #gaia .notice-grid-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:14px 16px;
    font-size:0.92rem; color:var(--ink-soft); line-height:1.5;
  }

  /* Mock system notice card */
  #gaia .notice-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:26px 26px 24px;
    margin-top:20px; box-shadow:var(--shadow-card);
  }
  #gaia .notice-card-compact{ margin-top:16px; }
  #gaia .notice-card-title{
    display:inline-block; font-size:0.76rem; font-weight:700; letter-spacing:0.02em;
    color:var(--green-deep); background:var(--green-tint);
    border-radius:999px; padding:4px 12px; margin:0 0 14px;
  }
  #gaia .notice-card-body{
    font-size:1rem; color:var(--ink); line-height:1.6; margin:0 0 18px;
  }
  #gaia .notice-fields{ margin:0 0 18px; }
  #gaia .notice-field{ margin-bottom:14px; }
  #gaia .notice-field:last-child{ margin-bottom:0; }
  #gaia .notice-field dt{
    font-size:0.78rem; font-weight:600; color:var(--ink-faint);
    margin:0 0 3px; text-transform:none;
  }
  #gaia .notice-field dd{
    margin:0; font-size:0.94rem; color:var(--ink-soft); line-height:1.5;
  }
  #gaia .status-tags{
    display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 0; padding:0; list-style:none;
  }
  #gaia .status-tags li{
    font-size:0.82rem; color:var(--ink-soft);
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:999px; padding:4px 10px;
  }
  #gaia .notice-options-label{
    font-size:0.78rem; font-weight:600; color:var(--ink-faint);
    margin:0 0 10px;
  }
  #gaia .notice-pills{
    display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none;
  }
  #gaia .notice-pill{
    font-size:0.86rem; font-weight:600; color:var(--ink);
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:999px; padding:8px 16px;
    cursor:default; user-select:none;
  }
  #gaia .notice-pills-dark .notice-pill{
    background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.18); color:var(--white);
  }

  /* Table (shared visual pattern with other pages) */
  #gaia .table-wrap{ margin-top:20px; overflow-x:auto; }
  #gaia .gaia-table{ width:100%; border-collapse:collapse; }
  #gaia .gaia-table th{
    text-align:left; font-size:0.8rem; font-weight:600; color:var(--ink-faint);
    padding:0 14px 12px 0; border-bottom:1px solid var(--line);
  }
  #gaia .gaia-table td{
    padding:14px 14px 14px 0; border-bottom:1px solid var(--line);
    vertical-align:top; font-size:0.94rem; color:var(--ink-soft);
  }
  #gaia .gaia-table td:first-child{ font-weight:600; color:var(--ink); }
  #gaia .gaia-table tr:last-child td{ border-bottom:none; }
  @media (max-width:640px){
    #gaia .gaia-table thead{ display:none; }
    #gaia .gaia-table, #gaia .gaia-table tbody, #gaia .gaia-table tr, #gaia .gaia-table td{ display:block; width:100%; }
    #gaia .gaia-table tr{
      border:1px solid var(--line); border-radius:var(--radius-sm);
      padding:14px 16px; margin-bottom:12px;
    }
    #gaia .gaia-table td{ border-bottom:none; padding:4px 0; }
    #gaia .gaia-table td::before{
      content:attr(data-label); display:block; font-size:0.74rem; font-weight:600;
      color:var(--ink-faint); margin-bottom:2px;
    }
  }

  /* Two column layout (Section 6 and 11) */
  #gaia .two-col{
    display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px;
  }
  @media (max-width:700px){ #gaia .two-col{ grid-template-columns:1fr; } }
  #gaia .two-col-panel{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:24px 24px 22px;
  }
  #gaia .panel-label{
    font-size:0.86rem; font-weight:700; color:var(--green);
    margin:0 0 12px;
  }

  /* Tradeoff callout */
  #gaia .tradeoff-callout{
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:22px 24px; margin-top:20px;
  }
  #gaia .tradeoff-callout .callout-title{
    font-weight:700; color:var(--green-deep); margin:0 0 8px; font-size:0.96rem;
  }
  #gaia .tradeoff-callout p{ color:#3D5F51; }
  #gaia .tradeoff-callout .tradeoff-example{
    font-style:italic; margin:10px 0 0; padding-top:10px;
    border-top:1px solid #D9E7DF;
  }

  /* Dark status card */
  #gaia .status-card{
    background:var(--black); color:var(--white);
    border-radius:var(--radius-lg); padding:28px 26px; margin-top:20px;
  }
  #gaia .status-card-label{
    display:inline-block; font-size:0.76rem; font-weight:700; letter-spacing:0.02em;
    color:var(--green-on-black); background:rgba(79,190,147,0.12);
    border:1px solid rgba(79,190,147,0.3);
    border-radius:999px; padding:4px 12px; margin:0 0 14px;
  }
  #gaia .status-card p{ color:rgba(255,255,255,0.78); }
  #gaia .status-options-label{ color:rgba(255,255,255,0.55); margin-top:6px; }

  /* Research cards (Section 10) */
  #gaia .research-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; margin-top:20px;
  }
  @media (max-width:700px){ #gaia .research-grid{ grid-template-columns:1fr; } }
  #gaia .research-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 22px 20px;
  }
  #gaia .research-card h3{ margin:0 0 12px; font-size:1rem; }
  #gaia .research-card .bullets li{ font-size:0.9rem; }

  /* Route note (shared pattern) */
  #gaia .route-note{
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:18px 20px; margin-top:24px;
  }
  #gaia .route-note p{ margin:0; font-size:0.94rem; color:#3D5F51; }
  #gaia .inline-link{
    color:var(--green-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px;
  }

  /* Closing feature block */
  #gaia .closing-block{
    background:var(--green-deep);
    background-image:radial-gradient(120% 140% at 0% 0%, #1E5942 0%, #163F31 55%, #10302664 100%);
    border-radius:var(--radius-lg); padding:40px 38px;
    color:var(--white); position:relative; overflow:hidden;
  }
  #gaia .closing-block::after{
    content:""; position:absolute; right:-50px; top:-50px;
    width:200px; height:200px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.08);
  }
  #gaia .closing-label{
    color:var(--green-on-black); position:relative; z-index:1;
  }
  #gaia .closing-label::before{ background:var(--green-on-black); }
  #gaia .closing-text{
    color:rgba(255,255,255,0.85); font-size:1.05rem; line-height:1.65;
    position:relative; z-index:1; margin:0; max-width:65ch;
  }


  /* ================================================
     FEATURES WE'RE EXPLORING — PAGE STYLES
     ================================================ */
  #features-were-exploring{ --maxw: 900px; }

  #features-were-exploring .page-header{ padding:28px 0 0; }
  #features-were-exploring .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #features-were-exploring .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #features-were-exploring .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #features-were-exploring .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #features-were-exploring .page-header .lede:last-child{ margin-bottom:0; }

  #features-were-exploring .intro-note{
    display:flex; gap:14px; align-items:flex-start;
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:20px 22px;
    margin:28px 0 24px;
  }
  #features-were-exploring .intro-note svg{ flex:none; margin-top:2px; color:var(--green-deep); }
  #features-were-exploring .intro-note .note-title{ font-weight:700; color:var(--green-deep); margin:0 0 6px; font-size:0.96rem; }
  #features-were-exploring .intro-note p{ margin:0; font-size:0.9rem; line-height:1.6; color:#3D5F51; }

  /* Status legend row */
  #features-were-exploring .status-legend{
    display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px;
  }

  #features-were-exploring section{ padding:48px 0; border-top:1px solid var(--line); }
  #features-were-exploring section:first-of-type{ border-top:none; }
  #features-were-exploring .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #features-were-exploring .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #features-were-exploring h2{
    font-size:clamp(1.3rem, 2.4vw, 1.6rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 12px;
  }
  #features-were-exploring h3{ font-size:0.98rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #features-were-exploring p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.6; font-size:1rem; }
  #features-were-exploring p:last-child{ margin-bottom:0; }
  #features-were-exploring section > p{ margin-bottom:20px; }

  /* Status badges (shared) */
  #features-were-exploring .feature-status{
    display:inline-flex; align-items:center;
    font-size:0.74rem; font-weight:600;
    padding:4px 11px; border-radius:999px;
    margin-bottom:10px;
  }
  #features-were-exploring .status-researching{ background:var(--bg-panel); color:var(--ink-soft); border:1px solid var(--line); }
  #features-were-exploring .status-early{ background:var(--black); color:var(--white); }
  #features-were-exploring .status-future{ background:var(--white); color:var(--ink-soft); border:1px solid var(--line); }
  #features-were-exploring .status-connected{ background:var(--green-tint); color:var(--green-deep); }

  /* Feature grid + cards */
  #features-were-exploring .feature-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:4px;
  }
  #features-were-exploring .feature-grid-2{
    grid-template-columns:1fr 1fr;
  }
  @media (max-width:820px){
    #features-were-exploring .feature-grid{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width:560px){
    #features-were-exploring .feature-grid{ grid-template-columns:1fr; }
  }
  #features-were-exploring .feature-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
    display:flex; flex-direction:column;
  }
  #features-were-exploring .feature-card p{ font-size:0.9rem; margin:0 0 10px; }
  #features-were-exploring .feature-card p:last-of-type{ margin-bottom:0; }
  #features-were-exploring .feature-link{
    margin-top:10px; font-size:0.86rem; font-weight:600;
  }

  #features-were-exploring .inline-link{
    color:var(--green-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px;
  }
  #features-were-exploring .section-link{
    display:inline-block; margin-top:18px; font-size:0.92rem;
  }

  /* Boundary note */
  #features-were-exploring .boundary-note{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:16px 18px; margin-top:16px;
  }
  #features-were-exploring .boundary-note p{ margin:0; font-size:0.9rem; color:var(--ink-soft); }

  /* Presence Mode full width panel */
  #features-were-exploring .presence-panel{
    background:var(--black); color:var(--white);
    border-radius:var(--radius-lg); padding:30px 28px; margin-top:4px;
  }
  #features-were-exploring .presence-panel .feature-status.status-researching{
    background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.75); border-color:rgba(255,255,255,0.16);
  }
  #features-were-exploring .presence-panel h3{ color:var(--white); font-size:1.15rem; margin:8px 0 12px; }
  #features-were-exploring .presence-panel > p{ color:rgba(255,255,255,0.72); }
  #features-were-exploring .presence-lists{
    display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px;
  }
  @media (max-width:640px){ #features-were-exploring .presence-lists{ grid-template-columns:1fr; } }
  #features-were-exploring .presence-list h4{
    font-size:0.86rem; font-weight:700; color:var(--green-on-black); margin:0 0 10px;
  }
  #features-were-exploring .presence-list .bullets li{ color:rgba(255,255,255,0.78); font-size:0.92rem; }
  #features-were-exploring .presence-list .bullets li::before{ background:var(--green-on-black); }
  #features-were-exploring .presence-boundary{
    margin-top:20px; padding-top:18px; border-top:1px solid rgba(255,255,255,0.14);
    font-size:0.88rem; color:rgba(255,255,255,0.6);
  }

  /* Bullets (shared) */
  #features-were-exploring .bullets{ display:grid; gap:8px; margin:0; padding:0; list-style:none; }
  #features-were-exploring .bullets li{
    display:flex; gap:9px; align-items:flex-start;
    font-size:0.92rem; color:var(--ink-soft); line-height:1.55;
  }
  #features-were-exploring .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:7px;
  }

  /* Compact scan-friendly grid (Section 8 questions) */
  #features-were-exploring .notice-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:8px;
  }
  @media (max-width:640px){ #features-were-exploring .notice-grid{ grid-template-columns:1fr; } }
  #features-were-exploring .notice-grid-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:14px 16px;
    font-size:0.92rem; color:var(--ink-soft); line-height:1.5;
  }

  /* Closing feature block */
  #features-were-exploring .closing-block{
    background:var(--green-deep);
    background-image:radial-gradient(120% 140% at 0% 0%, #1E5942 0%, #163F31 55%, #10302664 100%);
    border-radius:var(--radius-lg); padding:34px 32px;
    color:var(--white); position:relative; overflow:hidden; margin-top:20px;
  }
  #features-were-exploring .closing-block::after{
    content:""; position:absolute; right:-50px; top:-50px;
    width:200px; height:200px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.08);
  }
  #features-were-exploring .closing-label{
    color:var(--white); position:relative; z-index:1;
    font-size:1.05rem; font-weight:700; letter-spacing:-0.01em;
  }
  #features-were-exploring .closing-label::before{ display:none; }
  #features-were-exploring .closing-text{
    color:rgba(255,255,255,0.82); font-size:0.98rem; line-height:1.6;
    position:relative; z-index:1; margin:10px 0 0;
  }
  #features-were-exploring .closing-link{
    color:var(--white); text-decoration:underline; text-underline-offset:3px;
  }


  /* ================================================
     OFFLINE CAPABILITY — PAGE STYLES
     ================================================ */
  #offline-capability{ --maxw: 880px; }

  #offline-capability .page-header{ padding:28px 0 0; }
  #offline-capability .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #offline-capability .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #offline-capability .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #offline-capability .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #offline-capability .page-header .lede:last-child{ margin-bottom:0; }
  #offline-capability .sr-only-heading{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }

  #offline-capability section{ padding:48px 0; border-top:1px solid var(--line); }
  #offline-capability section:first-of-type{ border-top:none; }
  #offline-capability .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #offline-capability .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #offline-capability h2{ margin:0; }
  #offline-capability h3{ font-size:0.98rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #offline-capability p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.65; font-size:1rem; }
  #offline-capability p:last-child{ margin-bottom:0; }

  #offline-capability .bullets{ display:grid; gap:9px; margin:0; padding:0; list-style:none; }
  #offline-capability .bullets li{
    display:flex; gap:10px; align-items:flex-start;
    font-size:0.94rem; color:var(--ink-soft); line-height:1.6;
  }
  #offline-capability .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:8px;
  }

  /* Compact scan-friendly grid */
  #offline-capability .notice-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:8px;
  }
  @media (max-width:640px){ #offline-capability .notice-grid{ grid-template-columns:1fr; } }
  #offline-capability .notice-grid-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:14px 16px;
    font-size:0.92rem; color:var(--ink-soft); line-height:1.5;
  }

  /* Two column layout */
  #offline-capability .two-col{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:8px;
  }
  @media (max-width:700px){ #offline-capability .two-col{ grid-template-columns:1fr; } }
  #offline-capability .two-col-panel{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 22px 20px;
  }

  #offline-capability .full-card{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 22px 20px; margin-top:14px;
  }

  /* Feature grid + cards */
  #offline-capability .feature-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; margin-top:8px;
  }
  #offline-capability .feature-grid-3{ grid-template-columns:repeat(3, 1fr); }
  @media (max-width:760px){
    #offline-capability .feature-grid, #offline-capability .feature-grid-3{ grid-template-columns:1fr; }
  }
  #offline-capability .feature-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
  }
  #offline-capability .feature-card p{ font-size:0.9rem; margin:0; }

  #offline-capability .boundary-note{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:16px 18px; margin-top:14px;
  }
  #offline-capability .boundary-note p{ margin:0; font-size:0.9rem; color:var(--ink-soft); }

  /* Flow diagrams (shared visual language, scoped fresh to this page) */
  #offline-capability .flow-card{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:30px 24px;
    margin:16px 0; display:flex; flex-direction:column; align-items:center;
  }
  #offline-capability .flow-card-horizontal{ padding:26px 20px; }
  #offline-capability .flow-diagram > div,
  #offline-capability .branch-diagram > div,
  #offline-capability .peer-diagram > div,
  #offline-capability .ptt-diagram > div{
    display:flex; flex-direction:column; align-items:center; gap:6px;
  }
  #offline-capability .flow-node{
    background:var(--white); border:1px solid var(--line);
    border-radius:16px; padding:12px 20px;
    font-size:0.9rem; font-weight:600; color:var(--ink);
    text-align:center; line-height:1.45;
  }
  #offline-capability .flow-node.small{ font-size:0.84rem; padding:9px 16px; border-radius:999px; }
  #offline-capability .flow-sub{
    display:block; font-size:0.78rem; font-weight:500; color:var(--ink-faint); margin-top:4px;
  }
  #offline-capability .flow-arrow{ color:var(--green); font-size:1.1rem; line-height:1; }
  #offline-capability .branch-row{
    display:flex; flex-direction:column; gap:10px; margin-top:6px; align-items:flex-start;
  }
  #offline-capability .branch-path{ display:flex; align-items:center; gap:10px; }
  #offline-capability .branch-symbol{
    color:var(--green); font-family:'IBM Plex Mono', monospace; font-size:1rem;
  }

  /* Nearby connection peer diagram (horizontal) */
  #offline-capability .peer-diagram > div{
    flex-direction:row; flex-wrap:wrap; justify-content:center; gap:12px;
  }
  #offline-capability .peer-link{ color:var(--green); font-size:1.2rem; }
  #offline-capability .peer-caption{
    margin-top:14px; font-size:0.86rem; color:var(--ink-faint); text-align:center;
  }

  /* Push to talk horizontal flow */
  #offline-capability .ptt-diagram > div{
    flex-direction:row; flex-wrap:wrap; justify-content:center; gap:12px;
  }

  /* Closing block */
  #offline-capability .closing-block{
    background:var(--green-deep);
    background-image:radial-gradient(120% 140% at 0% 0%, #1E5942 0%, #163F31 55%, #10302664 100%);
    border-radius:var(--radius-lg); padding:34px 32px;
    color:var(--white); position:relative; overflow:hidden;
  }
  #offline-capability .closing-block::after{
    content:""; position:absolute; right:-50px; top:-50px;
    width:200px; height:200px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.08);
  }
  #offline-capability .closing-label{
    color:var(--white); position:relative; z-index:1;
    font-size:1.05rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 10px;
  }
  #offline-capability .closing-text{
    color:rgba(255,255,255,0.82); font-size:0.98rem; line-height:1.6;
    position:relative; z-index:1; margin:0 0 16px;
  }
  #offline-capability .closing-block .closing-link{
    color:var(--white); text-decoration:underline; text-underline-offset:3px;
    position:relative; z-index:1; font-weight:600;
  }
  #offline-capability .inline-link{
    color:var(--green-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px;
  }

  @media (max-width:560px){
    #offline-capability .peer-diagram > div,
    #offline-capability .ptt-diagram > div{ flex-direction:column; }
  }


  /* ================================================
     MATERIALS, SOURCING & SUSTAINABILITY — PAGE STYLES
     ================================================ */
  #materials-sourcing-sustainability{ --maxw: 900px; }

  #materials-sourcing-sustainability .page-header{ padding:28px 0 0; }
  #materials-sourcing-sustainability .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #materials-sourcing-sustainability .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #materials-sourcing-sustainability .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #materials-sourcing-sustainability .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #materials-sourcing-sustainability .page-header .lede:last-child{ margin-bottom:0; }

  #materials-sourcing-sustainability section{ padding:48px 0; border-top:1px solid var(--line); }
  #materials-sourcing-sustainability section:first-of-type{ border-top:none; }
  #materials-sourcing-sustainability .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #materials-sourcing-sustainability .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #materials-sourcing-sustainability h2{
    font-size:clamp(1.3rem, 2.4vw, 1.6rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 12px;
  }
  #materials-sourcing-sustainability h3{ font-size:0.98rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #materials-sourcing-sustainability p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.6; font-size:1rem; }
  #materials-sourcing-sustainability p:last-child{ margin-bottom:0; }
  #materials-sourcing-sustainability .fine-note{ margin-top:16px; font-size:0.86rem; color:var(--ink-faint); line-height:1.6; }

  #materials-sourcing-sustainability .bullets{ display:grid; gap:9px; margin:0; padding:0; list-style:none; }
  #materials-sourcing-sustainability .bullets li{
    display:flex; gap:10px; align-items:flex-start;
    font-size:0.94rem; color:var(--ink-soft); line-height:1.6;
  }
  #materials-sourcing-sustainability .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:8px;
  }

  /* Tables (responsive, stacked on mobile) */
  #materials-sourcing-sustainability .table-wrap{ margin-top:18px; overflow-x:auto; }
  #materials-sourcing-sustainability .msus-table{ width:100%; border-collapse:collapse; }
  #materials-sourcing-sustainability .msus-table th{
    text-align:left; font-size:0.8rem; font-weight:600; color:var(--ink-faint);
    padding:0 14px 12px 0; border-bottom:1px solid var(--line);
  }
  #materials-sourcing-sustainability .msus-table td{
    padding:14px 14px 14px 0; border-bottom:1px solid var(--line);
    vertical-align:top; font-size:0.94rem; color:var(--ink-soft);
  }
  #materials-sourcing-sustainability .msus-table td:first-child{ font-weight:600; color:var(--ink); }
  #materials-sourcing-sustainability .msus-table tr:last-child td{ border-bottom:none; }
  @media (max-width:640px){
    #materials-sourcing-sustainability .msus-table thead{ display:none; }
    #materials-sourcing-sustainability .msus-table, #materials-sourcing-sustainability .msus-table tbody,
    #materials-sourcing-sustainability .msus-table tr, #materials-sourcing-sustainability .msus-table td{ display:block; width:100%; }
    #materials-sourcing-sustainability .msus-table tr{
      border:1px solid var(--line); border-radius:var(--radius-sm);
      padding:14px 16px; margin-bottom:12px;
    }
    #materials-sourcing-sustainability .msus-table td{ border-bottom:none; padding:4px 0; }
    #materials-sourcing-sustainability .msus-table td::before{
      content:attr(data-label); display:block; font-size:0.74rem; font-weight:600;
      color:var(--ink-faint); margin-bottom:2px;
    }
  }

  /* Full width calm feature block (Section 2) */
  #materials-sourcing-sustainability .full-feature-block{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:30px 30px 26px; margin-top:8px;
  }

  /* Flow diagram */
  #materials-sourcing-sustainability .flow-card{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:30px 24px;
    margin:16px 0; display:flex; justify-content:center;
  }
  #materials-sourcing-sustainability .flow-diagram > div{
    display:flex; flex-direction:column; align-items:center; gap:6px;
  }
  #materials-sourcing-sustainability .flow-node{
    background:var(--white); border:1px solid var(--line);
    border-radius:16px; padding:12px 20px;
    font-size:0.9rem; font-weight:600; color:var(--ink);
    text-align:center; line-height:1.45; max-width:420px;
  }
  #materials-sourcing-sustainability .flow-arrow{ color:var(--green); font-size:1.1rem; line-height:1; }

  /* Five question checks (Section 4) */
  #materials-sourcing-sustainability .check-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:8px;
  }
  @media (max-width:820px){ #materials-sourcing-sustainability .check-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ #materials-sourcing-sustainability .check-grid{ grid-template-columns:1fr; } }
  #materials-sourcing-sustainability .check-card{
    border-radius:var(--radius-md); padding:20px 18px;
  }
  #materials-sourcing-sustainability .check-card h3{ margin:0 0 8px; font-size:0.96rem; }
  #materials-sourcing-sustainability .check-card p{ font-size:0.88rem; margin:0; }
  #materials-sourcing-sustainability .check-card.dark{ background:var(--black); color:var(--white); }
  #materials-sourcing-sustainability .check-card.dark p{ color:rgba(255,255,255,0.68); }
  #materials-sourcing-sustainability .check-card.light{ background:var(--white); color:var(--ink); border:1px solid var(--line); }
  #materials-sourcing-sustainability .check-card.light p{ color:var(--ink-soft); }
  #materials-sourcing-sustainability .check-card.mute{ background:var(--bg-panel); color:var(--ink); border:1px solid var(--line); }
  #materials-sourcing-sustainability .check-card.mute p{ color:var(--ink-soft); }
  #materials-sourcing-sustainability .check-card.tint{ background:var(--green-tint); color:var(--green-deep); }
  #materials-sourcing-sustainability .check-card.tint p{ color:#3D5F51; }

  /* Areas we're exploring (Section 6) */
  #materials-sourcing-sustainability .area-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:8px;
  }
  @media (max-width:640px){ #materials-sourcing-sustainability .area-grid{ grid-template-columns:1fr; } }
  #materials-sourcing-sustainability .area-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:16px 18px;
  }
  #materials-sourcing-sustainability .area-card h3{ font-size:0.92rem; margin:0 0 6px; }
  #materials-sourcing-sustainability .area-card p{ font-size:0.88rem; margin:0; }

  /* Green note */
  #materials-sourcing-sustainability .green-note{
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:16px 18px; margin-top:16px;
  }
  #materials-sourcing-sustainability .green-note p{ margin:0; font-size:0.92rem; color:#3D5F51; }

  /* Research note examples (Section 9) */
  #materials-sourcing-sustainability .note-example{
    border-radius:var(--radius-md); padding:20px 22px; margin-top:14px;
  }
  #materials-sourcing-sustainability .note-example-label{
    font-size:0.8rem; font-weight:700; margin:0 0 8px;
  }
  #materials-sourcing-sustainability .note-example.neutral{
    background:var(--white); border:1px solid var(--line);
  }
  #materials-sourcing-sustainability .note-example.neutral .note-example-label{ color:var(--ink); }
  #materials-sourcing-sustainability .note-example.muted{
    background:var(--bg-panel); border:1px solid var(--line);
  }
  #materials-sourcing-sustainability .note-example.muted .note-example-label{ color:var(--ink-faint); }
  #materials-sourcing-sustainability .note-example p{ font-size:0.92rem; margin:0; }

  /* Two column layout (Sections 11 and 12) */
  #materials-sourcing-sustainability .two-col{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:8px;
  }
  @media (max-width:700px){ #materials-sourcing-sustainability .two-col{ grid-template-columns:1fr; } }
  #materials-sourcing-sustainability .two-col-panel{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 22px 20px;
  }

  /* Closing note (Section 12) */
  #materials-sourcing-sustainability .closing-note{
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:18px 20px; margin-top:20px;
  }
  #materials-sourcing-sustainability .closing-note p{ margin:0; font-size:0.94rem; color:#3D5F51; }
  #materials-sourcing-sustainability .closing-note code{
    font-family:'IBM Plex Mono', monospace; font-size:0.9em;
    background:var(--white); padding:2px 6px; border-radius:5px;
  }

  /* Buttons (scoped copy, matching established Hub button system) */
  #materials-sourcing-sustainability .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #materials-sourcing-sustainability .btn:hover{ transform:translateY(-1px); }
  #materials-sourcing-sustainability .btn-primary{ background:var(--black); color:var(--white); }
  #materials-sourcing-sustainability .btn-primary:hover{ background:var(--black-soft); }
  #materials-sourcing-sustainability .btn-primary .arrow-circle{ color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
  #materials-sourcing-sustainability .arrow-circle{
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #materials-sourcing-sustainability .arrow-circle svg{ width:13px; height:13px; }
  #materials-sourcing-sustainability .msus-work-link{ margin-top:20px; }

  @media (max-width:560px){
    #materials-sourcing-sustainability .btn{
      width:100%; justify-content:center;
      white-space:normal; text-align:center; line-height:1.3;
    }
  }


  /* ================================================
     MODULARITY & REPAIRABILITY — PAGE STYLES
     ================================================ */
  #page-modularity-repairability{ --maxw: 900px; }

  #page-modularity-repairability .page-header{ padding:28px 0 0; }
  #page-modularity-repairability .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-modularity-repairability .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-modularity-repairability .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #page-modularity-repairability .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #page-modularity-repairability .status-note{
    margin:6px 0 0; font-size:0.86rem; color:var(--ink-faint); font-style:italic;
  }

  /* Jump nav */
  #page-modularity-repairability .jump-nav{
    display:flex; flex-wrap:wrap; gap:8px;
    padding:24px 0 8px;
  }
  #page-modularity-repairability .jump-nav a{
    font-size:0.82rem; font-weight:500; color:var(--ink-soft);
    background:var(--white); border:1px solid var(--line);
    border-radius:999px; padding:7px 13px;
    transition:border-color .15s ease, color .15s ease;
  }
  #page-modularity-repairability .jump-nav a:hover{ border-color:var(--green); color:var(--ink); }

  #page-modularity-repairability section{ padding:44px 0; border-top:1px solid var(--line); scroll-margin-top:90px; }
  #page-modularity-repairability section:first-of-type{ border-top:none; }
  #page-modularity-repairability .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-modularity-repairability .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-modularity-repairability h2{
    font-size:clamp(1.3rem, 2.4vw, 1.6rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 12px; scroll-margin-top:90px;
  }
  #page-modularity-repairability h3{ font-size:0.98rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #page-modularity-repairability .sub-heading{ margin-top:26px; font-size:1rem; }
  #page-modularity-repairability p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.6; font-size:1rem; }
  #page-modularity-repairability p:last-child{ margin-bottom:0; }
  #page-modularity-repairability .fine-note{ margin-top:16px; font-size:0.86rem; color:var(--ink-faint); line-height:1.6; }

  #page-modularity-repairability .bullets{ display:grid; gap:8px; margin:0; padding:0; list-style:none; }
  #page-modularity-repairability .bullets li{
    display:flex; gap:9px; align-items:flex-start;
    font-size:0.92rem; color:var(--ink-soft); line-height:1.55;
  }
  #page-modularity-repairability .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:7px;
  }

  /* Comparison row (Sections 1, 5, 6) */
  #page-modularity-repairability .compare-row{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:16px 0;
  }
  @media (max-width:640px){ #page-modularity-repairability .compare-row{ grid-template-columns:1fr; } }
  #page-modularity-repairability .compare-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 20px 18px;
  }
  #page-modularity-repairability .compare-label{
    font-size:0.86rem; font-weight:700; color:var(--green); margin:0 0 8px;
  }
  #page-modularity-repairability .compare-card p:last-child{ font-size:0.92rem; color:var(--ink-soft); margin:0; }

  /* Two column layout (Section 2) */
  #page-modularity-repairability .two-col{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:16px 0;
  }
  @media (max-width:700px){ #page-modularity-repairability .two-col{ grid-template-columns:1fr; } }
  #page-modularity-repairability .two-col-panel{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 22px 20px;
  }

  /* System map (Section 2) */
  #page-modularity-repairability .system-map{
    margin-top:20px; display:flex; flex-direction:column; gap:0;
  }
  #page-modularity-repairability .system-layer{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 20px;
  }
  #page-modularity-repairability .system-layer-core{
    background:var(--black); border-color:var(--black);
  }
  #page-modularity-repairability .system-layer-core .system-layer-title{ color:var(--white); }
  #page-modularity-repairability .system-layer-core .system-chips span{
    background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.16); color:rgba(255,255,255,0.85);
  }
  #page-modularity-repairability .system-layer-title{
    font-size:0.86rem; font-weight:700; color:var(--ink); margin:0 0 12px;
  }
  #page-modularity-repairability .system-chips{
    display:flex; flex-wrap:wrap; gap:8px;
  }
  #page-modularity-repairability .system-chips span{
    font-size:0.84rem; font-weight:600; color:var(--ink-soft);
    background:var(--white); border:1px solid var(--line);
    border-radius:999px; padding:6px 13px;
  }
  #page-modularity-repairability .system-connector{
    width:1.5px; height:24px; background:var(--green); margin:0 auto;
  }

  /* Card grids */
  #page-modularity-repairability .card-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; margin-top:16px;
  }
  #page-modularity-repairability .card-grid-3{ grid-template-columns:repeat(3, 1fr); }
  #page-modularity-repairability .card-grid-2{ grid-template-columns:repeat(2, 1fr); }
  @media (max-width:820px){
    #page-modularity-repairability .card-grid, #page-modularity-repairability .card-grid-3{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width:560px){
    #page-modularity-repairability .card-grid, #page-modularity-repairability .card-grid-3, #page-modularity-repairability .card-grid-2{ grid-template-columns:1fr; }
  }
  #page-modularity-repairability .mr-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
  }
  #page-modularity-repairability .mr-card h3{ font-size:0.94rem; margin:0 0 8px; }
  #page-modularity-repairability .mr-card p{ font-size:0.88rem; margin:0; }

  /* Callout */
  #page-modularity-repairability .callout{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 22px; margin-top:18px;
  }
  #page-modularity-repairability .callout-label{
    font-size:0.8rem; font-weight:700; color:var(--ink); margin:0 0 8px;
  }
  #page-modularity-repairability .callout p:last-child{ font-size:0.92rem; margin:0; }

  /* Tables */
  #page-modularity-repairability .table-wrap{ margin-top:16px; overflow-x:auto; }
  #page-modularity-repairability .mr-table{ width:100%; border-collapse:collapse; }
  #page-modularity-repairability .mr-table th{
    text-align:left; font-size:0.8rem; font-weight:600; color:var(--ink-faint);
    padding:0 14px 12px 0; border-bottom:1px solid var(--line);
  }
  #page-modularity-repairability .mr-table td{
    padding:14px 14px 14px 0; border-bottom:1px solid var(--line);
    vertical-align:top; font-size:0.92rem; color:var(--ink-soft);
  }
  #page-modularity-repairability .mr-table td:first-child{ font-weight:600; color:var(--ink); }
  #page-modularity-repairability .mr-table tr:last-child td{ border-bottom:none; }
  @media (max-width:640px){
    #page-modularity-repairability .mr-table thead{ display:none; }
    #page-modularity-repairability .mr-table, #page-modularity-repairability .mr-table tbody,
    #page-modularity-repairability .mr-table tr, #page-modularity-repairability .mr-table td{ display:block; width:100%; }
    #page-modularity-repairability .mr-table tr{
      border:1px solid var(--line); border-radius:var(--radius-sm);
      padding:14px 16px; margin-bottom:12px;
    }
    #page-modularity-repairability .mr-table td{ border-bottom:none; padding:4px 0; }
    #page-modularity-repairability .mr-table td::before{
      content:attr(data-label); display:block; font-size:0.74rem; font-weight:600;
      color:var(--ink-faint); margin-bottom:2px;
    }
  }

  /* Lifecycle flow (Section 8) */
  #page-modularity-repairability .lifecycle-flow{
    display:grid; gap:12px; margin:20px 0;
  }
  #page-modularity-repairability .lifecycle-step{
    display:flex; gap:16px; align-items:flex-start;
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 20px;
  }
  #page-modularity-repairability .lifecycle-num{
    flex:none; width:30px; height:30px; border-radius:50%;
    background:var(--green-tint); color:var(--green-deep);
    display:flex; align-items:center; justify-content:center;
    font-weight:700; font-size:0.88rem;
  }
  #page-modularity-repairability .lifecycle-step h3{ margin:0 0 4px; font-size:0.94rem; }
  #page-modularity-repairability .lifecycle-step p{ margin:0; font-size:0.9rem; }

  /* Phase cards (Section 10) */
  #page-modularity-repairability .phase-row{
    display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px;
  }
  @media (max-width:700px){ #page-modularity-repairability .phase-row{ grid-template-columns:1fr; } }
  #page-modularity-repairability .phase-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:26px 26px 24px;
  }
  #page-modularity-repairability .phase-small-label{
    font-size:0.76rem; font-weight:700; color:var(--green);
    background:var(--green-tint); display:inline-block;
    border-radius:999px; padding:4px 12px; margin:0 0 12px;
  }
  #page-modularity-repairability .phase-card h3{ font-size:1.05rem; margin:0 0 14px; }

  /* Closing note */
  #page-modularity-repairability .closing-note{
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:18px 20px; margin-top:16px;
  }
  #page-modularity-repairability .closing-note p{ margin:0; font-size:0.94rem; color:#3D5F51; }
  #page-modularity-repairability .closing-note code{
    font-family:'IBM Plex Mono', monospace; font-size:0.9em;
    background:var(--white); padding:2px 6px; border-radius:5px;
  }

  /* Buttons (scoped copy, matching established Hub button system) */
  #page-modularity-repairability .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #page-modularity-repairability .btn:hover{ transform:translateY(-1px); }
  #page-modularity-repairability .btn-primary{ background:var(--black); color:var(--white); }
  #page-modularity-repairability .btn-primary:hover{ background:var(--black-soft); }
  #page-modularity-repairability .btn-primary .arrow-circle{ color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
  #page-modularity-repairability .arrow-circle{
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #page-modularity-repairability .arrow-circle svg{ width:13px; height:13px; }
  #page-modularity-repairability .mr-work-link{ margin-top:20px; }

  @media (max-width:560px){
    #page-modularity-repairability .btn{
      width:100%; justify-content:center;
      white-space:normal; text-align:center; line-height:1.3;
    }
  }


  /* ================================================
     HOW WE WANT THE PHONE TO CHARGE (NYRO) — PAGE STYLES
     ================================================ */
  #page-how-we-want-the-phone-to-charge{ --maxw: 900px; }

  #page-how-we-want-the-phone-to-charge .page-header{ padding:28px 0 0; }
  #page-how-we-want-the-phone-to-charge .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-how-we-want-the-phone-to-charge .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-how-we-want-the-phone-to-charge .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #page-how-we-want-the-phone-to-charge .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #page-how-we-want-the-phone-to-charge .page-header .lede:last-child{ margin-bottom:0; }

  #page-how-we-want-the-phone-to-charge section{ padding:44px 0; border-top:1px solid var(--line); }
  #page-how-we-want-the-phone-to-charge section:first-of-type{ border-top:none; }
  #page-how-we-want-the-phone-to-charge .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-how-we-want-the-phone-to-charge .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-how-we-want-the-phone-to-charge h2{
    font-size:clamp(1.3rem, 2.4vw, 1.6rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 12px;
  }
  #page-how-we-want-the-phone-to-charge h3{ font-size:0.98rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #page-how-we-want-the-phone-to-charge p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.6; font-size:1rem; }
  #page-how-we-want-the-phone-to-charge p:last-child{ margin-bottom:0; }

  #page-how-we-want-the-phone-to-charge .bullets{ display:grid; gap:8px; margin:0; padding:0; list-style:none; }
  #page-how-we-want-the-phone-to-charge .bullets li{
    display:flex; gap:9px; align-items:flex-start;
    font-size:0.92rem; color:var(--ink-soft); line-height:1.55;
  }
  #page-how-we-want-the-phone-to-charge .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:7px;
  }

  #page-how-we-want-the-phone-to-charge .inline-link{
    color:var(--green-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px;
  }

  /* Card grids */
  #page-how-we-want-the-phone-to-charge .nyro-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:8px;
  }
  @media (max-width:820px){ #page-how-we-want-the-phone-to-charge .nyro-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ #page-how-we-want-the-phone-to-charge .nyro-grid{ grid-template-columns:1fr; } }
  #page-how-we-want-the-phone-to-charge .nyro-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
  }
  #page-how-we-want-the-phone-to-charge .nyro-card h3{ font-size:0.94rem; margin:0 0 8px; }
  #page-how-we-want-the-phone-to-charge .nyro-card-eyebrow{
    font-size:0.74rem; font-weight:600; text-transform:uppercase; letter-spacing:0.03em;
    color:var(--green-deep); margin:0 0 8px;
  }
  #page-how-we-want-the-phone-to-charge .nyro-card p{ font-size:0.88rem; margin:0; }

  #page-how-we-want-the-phone-to-charge .accessory-note{
    margin-top:16px; font-size:0.88rem; color:var(--ink-faint); line-height:1.6;
  }

  #page-how-we-want-the-phone-to-charge .nyro-callout{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 20px; margin-top:16px;
  }
  #page-how-we-want-the-phone-to-charge .nyro-callout p{ margin:0; font-size:0.92rem; color:var(--ink-soft); }

  /* Two column layout */
  #page-how-we-want-the-phone-to-charge .two-col{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:8px;
  }
  @media (max-width:700px){ #page-how-we-want-the-phone-to-charge .two-col{ grid-template-columns:1fr; } }
  #page-how-we-want-the-phone-to-charge .two-col-panel{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 22px 20px;
  }

  /* Status legend grid */
  #page-how-we-want-the-phone-to-charge .nyro-doc-link-block{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 24px; margin:28px 0;
  }
  #page-how-we-want-the-phone-to-charge .nyro-doc-link-label{
    font-size:0.78rem; font-weight:600; text-transform:uppercase; letter-spacing:0.03em;
    color:var(--ink-faint); margin:0 0 8px;
  }
  #page-how-we-want-the-phone-to-charge .nyro-doc-link-text{
    font-size:0.96rem; color:var(--ink-soft); margin:0 0 16px;
  }
  #page-how-we-want-the-phone-to-charge .nyro-doc-link-note{
    font-size:0.84rem; color:var(--ink-faint); line-height:1.55; margin:14px 0 0;
  }

  #page-how-we-want-the-phone-to-charge .status-legend-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px;
  }
  @media (max-width:700px){ #page-how-we-want-the-phone-to-charge .status-legend-grid{ grid-template-columns:1fr; } }
  #page-how-we-want-the-phone-to-charge .status-legend-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:16px 18px;
  }
  #page-how-we-want-the-phone-to-charge .status-legend-item .status-badge{ margin-bottom:8px; }
  #page-how-we-want-the-phone-to-charge .status-legend-item p:last-child{ margin:0; font-size:0.88rem; }

  /* Reused status-badge visual variants (scoped to this page) */
  #page-how-we-want-the-phone-to-charge .status-badge{
    display:inline-block; font-size:0.78rem; font-weight:600;
    padding:4px 12px; border-radius:999px; margin-bottom:10px;
  }
  #page-how-we-want-the-phone-to-charge .status-open{ background:var(--green-tint); color:var(--green-deep); }
  #page-how-we-want-the-phone-to-charge .status-researching{ background:var(--bg-panel); color:var(--ink-soft); border:1px solid var(--line); }
  #page-how-we-want-the-phone-to-charge .status-later{ background:var(--white); color:var(--ink-faint); border:1px dashed var(--line); }
  #page-how-we-want-the-phone-to-charge .status-forming{ background:var(--white); color:var(--ink-soft); border:1px solid var(--line); }
  #page-how-we-want-the-phone-to-charge .status-paused{ background:var(--black); color:var(--white); }

  /* Nyro hierarchy block */
  #page-how-we-want-the-phone-to-charge .nyro-hierarchy{
    margin:20px 0; display:flex; flex-direction:column; align-items:center; gap:4px;
  }
  #page-how-we-want-the-phone-to-charge .nyro-hierarchy-row{
    width:100%; max-width:420px; text-align:center;
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:12px 18px;
  }
  #page-how-we-want-the-phone-to-charge .nyro-hierarchy-row--main{
    background:var(--green-tint); border-color:#D9E7DF;
  }
  #page-how-we-want-the-phone-to-charge .nyro-hierarchy-label{ margin:0; font-weight:700; color:var(--ink); }
  #page-how-we-want-the-phone-to-charge .nyro-hierarchy-sub{ margin:4px 0 0; font-size:0.84rem; color:var(--ink-soft); }
  #page-how-we-want-the-phone-to-charge .nyro-hierarchy-arrow{ font-size:1.1rem; color:var(--ink-faint); line-height:1; }

  /* Flow diagrams */
  #page-how-we-want-the-phone-to-charge .flow-diagram-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:16px 0 20px;
  }
  @media (max-width:900px){ #page-how-we-want-the-phone-to-charge .flow-diagram-grid{ grid-template-columns:1fr; } }
  #page-how-we-want-the-phone-to-charge .flow-diagram{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px;
  }
  #page-how-we-want-the-phone-to-charge .flow-diagram-title{
    font-weight:700; font-size:0.88rem; color:var(--ink); margin:0 0 12px;
  }
  #page-how-we-want-the-phone-to-charge .flow-step{
    background:var(--bg-panel); border-radius:var(--radius-sm);
    padding:10px 12px; font-size:0.86rem; color:var(--ink-soft); text-align:center;
  }
  #page-how-we-want-the-phone-to-charge .flow-arrow{
    text-align:center; color:var(--ink-faint); font-size:0.95rem; line-height:1.8;
  }

  /* Glossary */
  #page-how-we-want-the-phone-to-charge .glossary-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px;
  }
  @media (max-width:700px){ #page-how-we-want-the-phone-to-charge .glossary-grid{ grid-template-columns:1fr; } }
  #page-how-we-want-the-phone-to-charge .glossary-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:14px 16px;
  }
  #page-how-we-want-the-phone-to-charge .glossary-term{ margin:0 0 6px; font-weight:700; font-size:0.9rem; color:var(--ink); }
  #page-how-we-want-the-phone-to-charge .glossary-def{ margin:0; font-size:0.86rem; color:var(--ink-soft); line-height:1.55; }

  #page-how-we-want-the-phone-to-charge .work-label{ font-size:0.8rem; font-weight:600; color:var(--ink); margin:16px 0 8px; }
  #page-how-we-want-the-phone-to-charge .closing-note-text{ font-size:0.9rem; color:var(--ink-faint); margin-top:20px; }

  /* Buttons (scoped copy, matching established Hub button system) */
  #page-how-we-want-the-phone-to-charge .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    text-decoration:none;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #page-how-we-want-the-phone-to-charge .btn:hover{ transform:translateY(-1px); }
  #page-how-we-want-the-phone-to-charge .btn:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }
  #page-how-we-want-the-phone-to-charge .btn-primary{ background:var(--black); color:var(--white); }
  #page-how-we-want-the-phone-to-charge .btn-primary:hover{ background:var(--black-soft); }
  #page-how-we-want-the-phone-to-charge .btn-primary .arrow-circle{ color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
  #page-how-we-want-the-phone-to-charge .arrow-circle{
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #page-how-we-want-the-phone-to-charge .arrow-circle svg{ width:13px; height:13px; }

  @media (max-width:560px){
    #page-how-we-want-the-phone-to-charge .btn{
      width:100%; justify-content:center;
      white-space:normal; text-align:center; line-height:1.3;
    }
  }

  /* ================================================
     ORGANIZATION INFORMATION — PAGE STYLES
     ================================================ */
  #page-organization-information{ --maxw: 880px; }

  #page-organization-information .page-header{ padding:28px 0 0; }
  #page-organization-information .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-organization-information .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-organization-information .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #page-organization-information .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0;
  }

  #page-organization-information section{ padding:44px 0; border-top:1px solid var(--line); }
  #page-organization-information section:first-of-type{ border-top:none; }
  #page-organization-information .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-organization-information .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-organization-information h2{
    font-size:clamp(1.3rem, 2.4vw, 1.6rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 12px;
  }
  #page-organization-information h3{ font-size:0.94rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 6px; }
  #page-organization-information p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.6; font-size:1rem; }
  #page-organization-information p:last-child{ margin-bottom:0; }

  /* Org info list */
  #page-organization-information .org-info-list{
    margin-top:18px; background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); overflow:hidden;
  }
  #page-organization-information .org-info-row{
    padding:16px 20px; border-bottom:1px solid var(--line);
  }
  #page-organization-information .org-info-row:last-child{ border-bottom:none; }
  #page-organization-information .org-info-label{
    font-size:0.78rem; font-weight:600; color:var(--ink-faint); margin:0 0 3px;
  }
  #page-organization-information .org-info-value{
    font-size:0.98rem; font-weight:600; color:var(--ink); margin:0;
  }

  /* Brand color grid */
  #page-organization-information .color-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-top:20px;
  }
  @media (max-width:820px){ #page-organization-information .color-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ #page-organization-information .color-grid{ grid-template-columns:1fr; } }
  #page-organization-information .color-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:0 0 18px; overflow:hidden;
  }
  #page-organization-information .color-swatch{
    display:block; width:100%; height:72px; margin:0 0 14px;
  }
  #page-organization-information .color-card h3{ margin:0 14px 4px; font-size:0.94rem; }
  #page-organization-information .color-card p{ margin:0 14px 6px; font-size:0.84rem; }
  #page-organization-information .color-hex{
    font-family:'IBM Plex Mono', monospace; font-size:0.82rem; color:var(--ink-soft);
  }
  #page-organization-information .color-role{ font-weight:600; color:var(--ink); }
  #page-organization-information .color-use{ color:var(--ink-faint); margin-bottom:0 !important; }
  #page-organization-information .color-guidance{
    margin-top:16px; font-size:0.86rem; color:var(--ink-faint); line-height:1.6;
  }

  #page-organization-information .intro-note{
    display:flex; gap:14px; align-items:flex-start;
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:20px 22px;
    margin:28px 0 8px;
  }
  #page-organization-information .intro-note svg{ flex:none; margin-top:2px; color:var(--green-deep); }
  #page-organization-information .intro-note .note-title{ font-weight:700; color:var(--green-deep); margin:0 0 6px; font-size:0.96rem; }
  #page-organization-information .intro-note p{ margin:0; font-size:0.9rem; line-height:1.6; color:#3D5F51; }
  #page-organization-information .intro-note p.note-title{ color:var(--green-deep); }


  /* ================================================
     BUILDING OUR OPERATING SYSTEM — PAGE STYLES
     ================================================ */
  #page-building-our-operating-system{ --maxw: 900px; }

  #page-building-our-operating-system .page-header{ padding:28px 0 0; }
  #page-building-our-operating-system .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-building-our-operating-system .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-building-our-operating-system .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #page-building-our-operating-system .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #page-building-our-operating-system .page-header .lede:last-child{ margin-bottom:0; }

  #page-building-our-operating-system section{ padding:44px 0; border-top:1px solid var(--line); }
  #page-building-our-operating-system section:first-of-type{ border-top:none; }
  #page-building-our-operating-system .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-building-our-operating-system .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-building-our-operating-system h2{
    font-size:clamp(1.3rem, 2.4vw, 1.6rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 12px;
  }
  #page-building-our-operating-system h3{ font-size:0.98rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #page-building-our-operating-system p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.6; font-size:1rem; }
  #page-building-our-operating-system p:last-child{ margin-bottom:0; }

  #page-building-our-operating-system .inline-link{
    color:var(--green-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px;
  }

  #page-building-our-operating-system .bullets{ display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none; }
  #page-building-our-operating-system .bullets li{
    display:flex; gap:9px; align-items:flex-start;
    font-size:0.92rem; color:var(--ink-soft); line-height:1.55;
  }
  #page-building-our-operating-system .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:7px;
  }

  /* Compact scan-friendly grid (reused pattern) */
  #page-building-our-operating-system .notice-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:8px;
  }
  @media (max-width:640px){ #page-building-our-operating-system .notice-grid{ grid-template-columns:1fr; } }
  #page-building-our-operating-system .notice-grid-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:14px 16px;
    font-size:0.92rem; color:var(--ink-soft); line-height:1.5;
  }

  /* Responsive tables (reused pattern) */
  #page-building-our-operating-system .table-wrap{ margin-top:18px; overflow-x:auto; }
  #page-building-our-operating-system .os-table{ width:100%; border-collapse:collapse; }
  #page-building-our-operating-system .os-table th{
    text-align:left; font-size:0.8rem; font-weight:600; color:var(--ink-faint);
    padding:0 14px 12px 0; border-bottom:1px solid var(--line);
  }
  #page-building-our-operating-system .os-table td{
    padding:14px 14px 14px 0; border-bottom:1px solid var(--line);
    vertical-align:top; font-size:0.92rem; color:var(--ink-soft);
  }
  #page-building-our-operating-system .os-table td:first-child{ font-weight:600; color:var(--ink); }
  #page-building-our-operating-system .os-table tr:last-child td{ border-bottom:none; }
  @media (max-width:640px){
    #page-building-our-operating-system .os-table thead{ display:none; }
    #page-building-our-operating-system .os-table, #page-building-our-operating-system .os-table tbody,
    #page-building-our-operating-system .os-table tr, #page-building-our-operating-system .os-table td{ display:block; width:100%; }
    #page-building-our-operating-system .os-table tr{
      border:1px solid var(--line); border-radius:var(--radius-sm);
      padding:14px 16px; margin-bottom:12px;
    }
    #page-building-our-operating-system .os-table td{ border-bottom:none; padding:4px 0; }
    #page-building-our-operating-system .os-table td::before{
      content:attr(data-label); display:block; font-size:0.74rem; font-weight:600;
      color:var(--ink-faint); margin-bottom:2px;
    }
  }

  /* Callout */
  #page-building-our-operating-system .os-callout{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:16px 18px; margin-top:18px;
  }
  #page-building-our-operating-system .os-callout p{ margin:0; font-size:0.92rem; color:var(--ink-soft); }

  /* Contributor approach cards */
  #page-building-our-operating-system .os-approach-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:8px;
  }
  @media (max-width:820px){ #page-building-our-operating-system .os-approach-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ #page-building-our-operating-system .os-approach-grid{ grid-template-columns:1fr; } }
  #page-building-our-operating-system .os-approach-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
  }
  #page-building-our-operating-system .os-approach-card h3{ font-size:0.94rem; margin:0 0 8px; }
  #page-building-our-operating-system .os-approach-card p{ font-size:0.88rem; margin:0; }

  #page-building-our-operating-system .os-areas-label{
    margin-top:26px; font-weight:600; color:var(--ink); font-size:0.9rem;
  }

  /* Closing note (reused pattern) */
  #page-building-our-operating-system .closing-note{
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:18px 20px; margin-top:20px;
  }
  #page-building-our-operating-system .closing-note p{ margin:0; font-size:0.94rem; color:#3D5F51; }

  /* Buttons (scoped copy, matching established Hub button system) */
  #page-building-our-operating-system .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    text-decoration:none;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #page-building-our-operating-system .btn:hover{ transform:translateY(-1px); }
  #page-building-our-operating-system .btn:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }
  #page-building-our-operating-system .btn-primary{ background:var(--black); color:var(--white); }
  #page-building-our-operating-system .btn-primary:hover{ background:var(--black-soft); }
  #page-building-our-operating-system .btn-primary .arrow-circle{ color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
  #page-building-our-operating-system .arrow-circle{
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #page-building-our-operating-system .arrow-circle svg{ width:13px; height:13px; }

  #page-building-our-operating-system .os-doc-links{
    display:flex; flex-wrap:wrap; gap:14px; margin-top:20px;
  }
  #page-building-our-operating-system .os-doc-fine-note{
    margin-top:14px; font-size:0.84rem; color:var(--ink-faint); line-height:1.6;
  }
  #page-building-our-operating-system .os-mode-status{
    font-size:0.78rem; font-weight:600; color:var(--green-deep);
    background:var(--green-tint); border-radius:999px; padding:3px 10px;
    display:inline-block; margin-bottom:10px;
  }

  @media (max-width:560px){
    #page-building-our-operating-system .btn{
      width:100%; justify-content:center;
      white-space:normal; text-align:center; line-height:1.3;
    }
  }

  /* Motivation section — four-card grid */
  #page-building-our-operating-system .why-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-top:16px;
  }
  @media (max-width:820px){ #page-building-our-operating-system .why-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ #page-building-our-operating-system .why-grid{ grid-template-columns:1fr; } }
  #page-building-our-operating-system .why-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
  }
  #page-building-our-operating-system .why-card h3{ font-size:0.94rem; margin:0 0 8px; }
  #page-building-our-operating-system .why-card p{ font-size:0.88rem; margin:0; }

  /* Hardened-foundation approach flow diagram */
  #page-building-our-operating-system .flow-card{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:30px 24px;
    margin:18px 0; display:flex; justify-content:center;
  }
  #page-building-our-operating-system .os-flow-diagram > div{
    display:flex; flex-direction:column; align-items:center; gap:6px;
  }
  #page-building-our-operating-system .os-flow-node{
    background:var(--white); border:1px solid var(--line);
    border-radius:16px; padding:12px 20px;
    font-size:0.9rem; font-weight:600; color:var(--ink);
    text-align:center; line-height:1.45; max-width:440px;
  }
  #page-building-our-operating-system .os-flow-arrow{ color:var(--green); font-size:1.1rem; line-height:1; }


  /* ================================================
     ACCESSIBILITY — PAGE STYLES
     ================================================ */
  #page-accessibility{ --maxw: 920px; }

  #page-accessibility .page-header{ padding:28px 0 0; }
  #page-accessibility .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-accessibility .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-accessibility .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #page-accessibility .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #page-accessibility .page-header .lede:last-child{ margin-bottom:0; }

  #page-accessibility .acc-callout{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 22px; margin:24px 0 8px;
  }
  #page-accessibility .acc-callout-label{ font-weight:700; color:var(--ink); margin:0 0 8px; font-size:0.96rem; }
  #page-accessibility .acc-callout p{ margin:0; font-size:0.92rem; color:var(--ink-soft); }
  #page-accessibility .acc-callout p:last-child{ margin:0; }

  #page-accessibility section{ padding:44px 0; border-top:1px solid var(--line); }
  #page-accessibility section:first-of-type{ border-top:none; }
  #page-accessibility .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-accessibility .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-accessibility h2{
    font-size:clamp(1.3rem, 2.4vw, 1.6rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 12px;
  }
  #page-accessibility h3{ font-size:0.96rem; font-weight:700; letter-spacing:-0.01em; margin:0 0 8px; }
  #page-accessibility p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.6; font-size:1rem; }
  #page-accessibility p:last-child{ margin-bottom:0; }
  #page-accessibility .fine-note{ margin-top:16px; font-size:0.86rem; color:var(--ink-faint); line-height:1.6; }

  #page-accessibility .bullets{ display:grid; gap:8px; margin:0; padding:0; list-style:none; }
  #page-accessibility .bullets li{
    display:flex; gap:9px; align-items:flex-start;
    font-size:0.92rem; color:var(--ink-soft); line-height:1.55;
  }
  #page-accessibility .bullets li::before{
    content:""; flex:none; width:6px; height:6px; border-radius:50%;
    background:var(--green); margin-top:7px;
  }

  /* Two column layout */
  #page-accessibility .two-col{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:16px 0;
  }
  @media (max-width:700px){ #page-accessibility .two-col{ grid-template-columns:1fr; } }
  #page-accessibility .two-col-panel{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 22px 20px;
  }
  #page-accessibility .panel-label{
    font-size:0.86rem; font-weight:700; color:var(--green); margin:0 0 8px;
  }

  /* Card grids */
  #page-accessibility .acc-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:16px;
  }
  #page-accessibility .acc-grid-3{ grid-template-columns:repeat(3, 1fr); }
  #page-accessibility .acc-grid-4{ grid-template-columns:repeat(4, 1fr); }
  @media (max-width:900px){
    #page-accessibility .acc-grid, #page-accessibility .acc-grid-3, #page-accessibility .acc-grid-4{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width:560px){
    #page-accessibility .acc-grid, #page-accessibility .acc-grid-3, #page-accessibility .acc-grid-4{ grid-template-columns:1fr; }
  }
  #page-accessibility .acc-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
  }
  #page-accessibility .acc-card h3{ font-size:0.92rem; margin:0 0 8px; }
  #page-accessibility .acc-card p{ font-size:0.86rem; margin:0; }

  /* Compact scan-friendly grid */
  #page-accessibility .notice-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px;
  }
  @media (max-width:640px){ #page-accessibility .notice-grid{ grid-template-columns:1fr; } }
  #page-accessibility .notice-grid-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:14px 16px;
    font-size:0.9rem; color:var(--ink-soft); line-height:1.5;
  }

  /* Responsive tables */
  #page-accessibility .table-wrap{ margin-top:18px; overflow-x:auto; }
  #page-accessibility .acc-table{ width:100%; border-collapse:collapse; }
  #page-accessibility .acc-table th{
    text-align:left; font-size:0.8rem; font-weight:600; color:var(--ink-faint);
    padding:0 14px 12px 0; border-bottom:1px solid var(--line);
  }
  #page-accessibility .acc-table td{
    padding:14px 14px 14px 0; border-bottom:1px solid var(--line);
    vertical-align:top; font-size:0.92rem; color:var(--ink-soft);
  }
  #page-accessibility .acc-table td:first-child{ font-weight:600; color:var(--ink); }
  #page-accessibility .acc-table tr:last-child td{ border-bottom:none; }
  @media (max-width:640px){
    #page-accessibility .acc-table thead{ display:none; }
    #page-accessibility .acc-table, #page-accessibility .acc-table tbody,
    #page-accessibility .acc-table tr, #page-accessibility .acc-table td{ display:block; width:100%; }
    #page-accessibility .acc-table tr{
      border:1px solid var(--line); border-radius:var(--radius-sm);
      padding:14px 16px; margin-bottom:12px;
    }
    #page-accessibility .acc-table td{ border-bottom:none; padding:4px 0; }
    #page-accessibility .acc-table td::before{
      content:attr(data-label); display:block; font-size:0.74rem; font-weight:600;
      color:var(--ink-faint); margin-bottom:2px;
    }
  }

  /* Research process lifecycle flow */
  #page-accessibility .lifecycle-flow{ display:grid; gap:12px; margin:20px 0; }
  #page-accessibility .lifecycle-step{
    display:flex; gap:16px; align-items:flex-start;
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 20px;
  }
  #page-accessibility .lifecycle-num{
    flex:none; width:30px; height:30px; border-radius:50%;
    background:var(--green-tint); color:var(--green-deep);
    display:flex; align-items:center; justify-content:center;
    font-weight:700; font-size:0.88rem;
  }
  #page-accessibility .lifecycle-step h3{ margin:0 0 4px; font-size:0.94rem; }
  #page-accessibility .lifecycle-step p{ margin:0; font-size:0.9rem; }

  /* Closing note */
  #page-accessibility .closing-note{
    background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:18px 20px; margin-top:20px;
  }
  #page-accessibility .closing-note p{ margin:0; font-size:0.94rem; color:#3D5F51; }


  /* ================================================
     WHAT WE ARE WORKING ON NOW — UPDATED PAGE STYLES
     ================================================ */
  #working-on-now .wonow-callout{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 22px; margin:24px 0 8px;
  }
  #working-on-now .wonow-callout-label{ font-weight:700; color:var(--ink); margin:0 0 8px; font-size:0.96rem; }
  #working-on-now .wonow-callout p{ margin:0; font-size:0.92rem; color:var(--ink-soft); }
  #working-on-now .wonow-callout p:last-child{ margin:0; }

  #working-on-now .fine-note{ margin-top:16px; font-size:0.86rem; color:var(--ink-faint); line-height:1.6; }

  /* Four-step "how to begin" row */
  #working-on-now .step-row{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-top:16px;
  }
  @media (max-width:900px){ #working-on-now .step-row{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ #working-on-now .step-row{ grid-template-columns:1fr; } }
  #working-on-now .step-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
  }
  #working-on-now .step-num{
    display:inline-flex; align-items:center; justify-content:center;
    width:26px; height:26px; border-radius:50%;
    background:var(--green-tint); color:var(--green-deep);
    font-weight:700; font-size:0.82rem; margin-bottom:10px;
  }
  #working-on-now .step-card h3{ font-size:0.94rem; margin:0 0 8px; }
  #working-on-now .step-card p{ font-size:0.88rem; margin:0; }

  /* Priority cards */
  #working-on-now .priority-grid{ display:grid; gap:16px; margin-top:20px; }
  #working-on-now .priority-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:30px 28px;
  }
  #working-on-now .priority-card h3{ font-size:1.2rem; margin:8px 0 16px; }
  #working-on-now .priority-label{
    font-size:0.8rem; font-weight:600; color:var(--ink);
    margin:20px 0 8px;
  }
  #working-on-now .priority-card > .priority-label:first-of-type{ margin-top:0; }
  #working-on-now .priority-meta{
    margin-top:20px; padding-top:18px; border-top:1px solid var(--line);
    display:grid; gap:14px;
  }
  #working-on-now .priority-meta-row .priority-label{ margin:0 0 6px; }
  #working-on-now .priority-boundary{
    margin-top:20px; background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:16px 18px;
  }
  #working-on-now .priority-boundary p{ margin:0; font-size:0.9rem; color:var(--ink-soft); }

  /* Contribution-type table */
  #working-on-now .table-wrap{ margin-top:20px; overflow-x:auto; }
  #working-on-now .wonow-table{ width:100%; border-collapse:collapse; }
  #working-on-now .wonow-table th{
    text-align:left; font-size:0.8rem; font-weight:600; color:var(--ink-faint);
    padding:0 14px 12px 0; border-bottom:1px solid var(--line);
  }
  #working-on-now .wonow-table td{
    padding:14px 14px 14px 0; border-bottom:1px solid var(--line);
    vertical-align:top; font-size:0.92rem; color:var(--ink-soft);
  }
  #working-on-now .wonow-table td:first-child{ font-weight:600; color:var(--ink); }
  #working-on-now .wonow-table tr:last-child td{ border-bottom:none; }
  @media (max-width:640px){
    #working-on-now .wonow-table thead{ display:none; }
    #working-on-now .wonow-table, #working-on-now .wonow-table tbody,
    #working-on-now .wonow-table tr, #working-on-now .wonow-table td{ display:block; width:100%; }
    #working-on-now .wonow-table tr{
      border:1px solid var(--line); border-radius:var(--radius-sm);
      padding:14px 16px; margin-bottom:12px;
    }
    #working-on-now .wonow-table td{ border-bottom:none; padding:4px 0; }
    #working-on-now .wonow-table td::before{
      content:attr(data-label); display:block; font-size:0.74rem; font-weight:600;
      color:var(--ink-faint); margin-bottom:2px;
    }
  }

  /* Approval boundary list */
  #working-on-now .approval-list{ margin-top:18px; }
  #working-on-now .approval-list li{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-sm); padding:12px 14px;
  }
  #working-on-now .approval-list li::before{ margin-top:9px; }

  /* Status guide */
  #working-on-now .status-guide{ display:grid; gap:10px; margin-top:16px; }
  #working-on-now .status-guide-row{
    display:flex; align-items:flex-start; gap:16px;
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:14px 18px;
  }
  #working-on-now .status-guide-row .status-badge{ flex:none; margin-top:2px; white-space:nowrap; }
  #working-on-now .status-guide-row p{ margin:0; font-size:0.9rem; }
  @media (max-width:560px){
    #working-on-now .status-guide-row{ flex-direction:column; gap:8px; }
  }

  #working-on-now .status-open{ background:var(--green-tint); color:var(--green-deep); }
  #working-on-now .status-needs-owner{ background:var(--bg-panel); color:var(--ink-soft); border:1px solid var(--line); }
  #working-on-now .status-researching{ background:var(--bg-panel); color:var(--ink-soft); border:1px solid var(--line); }
  #working-on-now .status-review{ background:var(--black); color:var(--white); }
  #working-on-now .status-forming{ background:var(--white); color:var(--ink-soft); border:1px solid var(--line); }
  #working-on-now .status-paused{ background:var(--white); color:var(--ink-faint); border:1px dashed var(--line); }
  #working-on-now .status-later{ background:var(--white); color:var(--ink-faint); border:1px dashed var(--line); }

  /* Team activity section */
  #working-on-now .team-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px;
  }
  @media (max-width:760px){
    #working-on-now .team-grid{ grid-template-columns:1fr; }
  }
  #working-on-now .team-card{
    background:#FFFFFF; border:1px solid #171717; border-radius:var(--radius-md);
    padding:20px 22px;
  }
  #working-on-now .team-name{ margin:0 0 4px; font-weight:700; font-size:1rem; color:#171717; }
  #working-on-now .team-role{ margin:0 0 12px; font-size:0.82rem; color:var(--ink-soft); }
  #working-on-now .team-focus{ margin:0 0 14px; font-size:0.92rem; color:var(--ink-soft); line-height:1.6; }
  #working-on-now .team-channels{ display:flex; flex-wrap:wrap; gap:8px; }
  #working-on-now .team-channel-pill{
    display:inline-block; font-size:0.78rem; font-weight:600;
    padding:5px 12px; border-radius:999px;
    background:#171717; color:#FFFFFF; text-decoration:none;
    border:1px solid #171717;
  }
  #working-on-now .team-channel-pill:hover{ background:#000000; }
  #working-on-now .team-channel-pill--text{
    background:#FFFFFF; color:#171717; border:1px solid #171717; cursor:default;
  }
  #working-on-now .team-channel-pill:focus-visible{ outline:2px solid #171717; outline-offset:2px; }
  #working-on-now .wonow-team-accent{ border-left:3px solid #D2FF3B; padding-left:10px; }
  #working-on-now .team-channel-note{
    margin:8px 0 0; font-size:0.8rem; color:var(--ink-faint); line-height:1.5;
  }

  /* Hub / Discord / Notion flow row */
  #working-on-now .flow-row{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin:16px 0 20px;
  }
  @media (max-width:760px){ #working-on-now .flow-row{ grid-template-columns:1fr; } }
  #working-on-now .flow-row-card{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
  }
  #working-on-now .flow-row-card h3{ font-size:0.94rem; margin:0 0 8px; }
  #working-on-now .flow-row-card p{ font-size:0.88rem; margin:0; }

  /* Context area cards */
  #working-on-now .context-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px;
  }
  @media (max-width:700px){ #working-on-now .context-grid{ grid-template-columns:1fr; } }
  #working-on-now .context-card{
    display:block; background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:18px 18px 16px;
    transition:border-color .15s ease;
  }
  #working-on-now .context-card:hover{ border-color:var(--green); }
  #working-on-now .context-card h3{ font-size:0.92rem; margin:0 0 8px; color:var(--ink); }
  #working-on-now .context-card p{ font-size:0.86rem; margin:0; color:var(--ink-soft); }

  /* ================================================
     RESEARCH LIBRARY — SMALL ADDITIONS
     ================================================ */
  #page-research-library .rl-note{
    margin-top:24px; background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 22px;
  }
  #page-research-library .rl-note p{ margin:0 0 12px; color:var(--ink-soft); line-height:1.6; font-size:0.96rem; }
  #page-research-library .rl-note p:last-child{ margin-bottom:0; }
  #page-research-library .rl-contributor-note{
    margin-top:16px; background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-md); padding:18px 20px;
  }
  #page-research-library .rl-contributor-note p{ margin:0; font-size:0.92rem; color:#3D5F51; }

  #page-research-library{ --maxw: 1100px; }

  #page-research-library .page-header{ padding:28px 0 0; }
  #page-research-library .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-research-library .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-research-library .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #page-research-library .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }

  #page-research-library .rl-callout{
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:20px 22px; margin:28px 0;
  }
  #page-research-library .rl-callout-label{ font-weight:700; color:var(--ink); margin:0 0 8px; font-size:0.96rem; }
  #page-research-library .rl-callout p{ margin:0 0 10px; font-size:0.92rem; color:var(--ink-soft); }
  #page-research-library .rl-callout p:last-child{ margin-bottom:0; }

  #page-research-library section{ padding:36px 0; border-top:1px solid var(--line); }
  #page-research-library .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-research-library .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-research-library h2{
    font-size:clamp(1.3rem, 2.4vw, 1.6rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 12px;
  }
  #page-research-library h3{ font-size:1rem; font-weight:700; margin:10px 0 8px; }

  #page-research-library .rl-steps{
    margin:16px 0 0; padding-left:22px; display:grid; gap:8px;
  }
  #page-research-library .rl-steps li{ font-size:0.94rem; color:var(--ink-soft); line-height:1.6; }

  #page-research-library .status-legend-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:16px;
  }
  @media (max-width:820px){ #page-research-library .status-legend-grid{ grid-template-columns:1fr; } }
  #page-research-library .status-legend-item{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:16px 18px;
  }
  #page-research-library .status-legend-item .status-badge{ margin-bottom:8px; }
  #page-research-library .status-legend-item p:last-child{ margin:0; font-size:0.88rem; color:var(--ink-soft); }

  #page-research-library .status-badge{
    display:inline-block; font-size:0.78rem; font-weight:600;
    padding:4px 12px; border-radius:999px; margin-bottom:10px;
  }
  #page-research-library .status-researching{ background:var(--bg-panel); color:var(--ink-soft); border:1px solid var(--line); }
  #page-research-library .status-needs-owner{ background:var(--white); color:var(--ink-soft); border:1px solid var(--line); }
  #page-research-library .status-forming{ background:var(--green-tint); color:var(--green-deep); }

  /* Document cards */
  #page-research-library .research-doc-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px;
  }
  @media (max-width:820px){ #page-research-library .research-doc-grid{ grid-template-columns:1fr; } }
  #page-research-library .research-doc-card{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:22px;
  }
  #page-research-library .research-doc-eyebrow{
    font-size:0.76rem; font-weight:600; text-transform:uppercase; letter-spacing:0.03em;
    color:var(--ink-faint); margin:0 0 10px;
  }
  #page-research-library .research-doc-meta{ font-size:0.86rem; color:var(--ink-faint); margin:0 0 12px; }
  #page-research-library .research-doc-summary{ font-size:0.92rem; color:var(--ink-soft); line-height:1.6; margin:0 0 14px; }
  #page-research-library .research-doc-confidentiality{
    font-size:0.82rem; color:var(--ink-faint); line-height:1.5;
    background:var(--bg-panel); border-radius:var(--radius-sm); padding:10px 12px; margin:0 0 16px;
  }
  #page-research-library .research-doc-footnote{
    font-size:0.8rem; color:var(--ink-faint); margin:10px 0 0;
  }

  /* Buttons (scoped copy, matching established Hub button system) */
  #page-research-library .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.94rem;
    padding:13px 18px 13px 20px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    text-decoration:none;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #page-research-library .btn:hover{ transform:translateY(-1px); }
  #page-research-library .btn:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }
  #page-research-library .btn-primary{ background:var(--black); color:var(--white); }
  #page-research-library .btn-primary:hover{ background:var(--black-soft); }
  #page-research-library .btn-primary .arrow-circle{ color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
  #page-research-library .arrow-circle{
    width:30px; height:30px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #page-research-library .arrow-circle svg{ width:12px; height:12px; }

  @media (max-width:560px){
    #page-research-library .btn{
      width:100%; justify-content:center;
      white-space:normal; text-align:center; line-height:1.3;
    }
  }

  /* ================================================
     BACK TO TOP — shared across long pages
     ================================================ */
  .back-to-top-row{
    display:flex; justify-content:center; padding:36px 0 4px;
  }
  .back-to-top{
    display:inline-flex; align-items:center; gap:10px;
    font-family:inherit; font-weight:600; font-size:0.88rem; color:var(--ink-soft);
    background:var(--white); border:1px solid var(--line);
    border-radius:999px; padding:10px 18px 10px 14px; cursor:pointer;
    transition:border-color .15s ease, color .15s ease, transform .15s ease;
  }
  .back-to-top:hover{ border-color:var(--green); color:var(--ink); transform:translateY(-1px); }
  .back-to-top-arrow{
    display:inline-flex; align-items:center; justify-content:center;
    width:24px; height:24px; border-radius:50%;
    border:1px solid currentColor; flex:none;
  }
  .back-to-top-arrow svg{ width:11px; height:11px; }


  /* ================================================
     WORKING ON NOW — COLLAPSIBLE PROJECT BLOCKS
     ================================================ */
  #working-on-now .project-list{ display:grid; gap:14px; margin-top:20px; }

  #working-on-now .project-block{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-lg); overflow:hidden;
  }
  #working-on-now .project-block[open]{ border-color:var(--green); }

  #working-on-now .project-block summary{
    list-style:none; cursor:pointer;
    padding:20px 24px; display:flex; align-items:center; flex-wrap:wrap;
    gap:8px 14px; position:relative;
  }
  #working-on-now .project-block summary::-webkit-details-marker{ display:none; }
  #working-on-now .project-block summary:focus-visible{
    outline:2px solid var(--green); outline-offset:-2px;
  }

  #working-on-now .project-block .status-badge{ margin:0; flex:none; }
  #working-on-now .project-title{
    font-weight:700; font-size:1rem; color:var(--ink); flex:none;
  }
  #working-on-now .project-category{
    font-size:0.78rem; font-weight:600; color:var(--green-deep);
    background:var(--green-tint); border-radius:999px; padding:3px 10px; flex:none;
  }
  #working-on-now .project-teaser{
    font-size:0.88rem; color:var(--ink-faint);
    flex:1 1 260px; min-width:0;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  #working-on-now .project-toggle{
    flex:none; margin-left:auto;
    width:26px; height:26px; border-radius:50%;
    border:1px solid var(--line); color:var(--ink-soft);
    display:flex; align-items:center; justify-content:center;
    transition:transform .18s ease, border-color .18s ease;
  }
  #working-on-now .project-toggle svg{ width:13px; height:13px; }
  #working-on-now .project-block[open] .project-toggle{
    transform:rotate(180deg); border-color:var(--green); color:var(--green-deep);
  }

  #working-on-now .project-body{
    padding:0 24px 26px; border-top:1px solid var(--line); padding-top:20px;
  }

  @media (max-width:700px){
    #working-on-now .project-block summary{ padding:16px 18px; }
    #working-on-now .project-teaser{ flex-basis:100%; white-space:normal; }
    #working-on-now .project-toggle{ margin-left:0; }
    #working-on-now .project-body{ padding:0 18px 22px; padding-top:16px; }
  }


  /* ================================================
     WORKING ON NOW — WORK-PROJECT EXPANDABLE CARDS
     ================================================ */
  #working-on-now .work-project{
    background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-lg); overflow:hidden;
  }
  #working-on-now .work-project[open]{ border-color:var(--green); }

  #working-on-now .work-project-summary{
    list-style:none; cursor:pointer;
    padding:20px 24px;
    display:grid;
    grid-template-columns:auto 1fr auto auto;
    grid-template-areas:
      "badge title label icon"
      "channel channel channel channel"
      "preview preview preview preview";
    column-gap:14px;
    row-gap:8px;
    align-items:center;
  }
  #working-on-now .work-project-summary::-webkit-details-marker{ display:none; }
  #working-on-now .work-project-summary:focus-visible{
    outline:2px solid var(--green); outline-offset:-2px;
  }

  #working-on-now .work-project .status-badge{ grid-area:badge; margin:0; justify-self:start; }
  #working-on-now .work-project-title{
    grid-area:title; font-weight:700; font-size:1rem; color:var(--ink);
  }
  #working-on-now .work-project-channel{
    grid-area:channel;
    font-size:0.78rem; font-weight:600; color:var(--green-deep);
    background:var(--green-tint); border-radius:999px; padding:3px 10px;
    justify-self:start;
  }
  #working-on-now .work-project-expand-label{
    grid-area:label;
    font-size:0.82rem; font-weight:600; color:var(--green-deep);
    white-space:nowrap; justify-self:end;
  }
  #working-on-now .work-project-desc{
    grid-area:preview;
    font-size:0.88rem; color:var(--ink-faint); line-height:1.5;
    white-space:normal; overflow:visible; text-overflow:clip;
    max-width:none;
  }

  /* Plus / minus indicator */
  #working-on-now .work-project-summary::after{
    grid-area:icon;
    content:"+";
    width:26px; height:26px; border-radius:50%;
    border:1px solid var(--line); color:var(--ink-soft);
    display:flex; align-items:center; justify-content:center;
    font-size:1.05rem; line-height:1; font-weight:600;
    transition:transform .18s ease, border-color .18s ease, color .18s ease;
  }
  #working-on-now .work-project[open] > .work-project-summary::after{
    content:"\2212";
    border-color:var(--green); color:var(--green-deep);
  }

  #working-on-now .work-project-details{
    padding:0 24px 26px; border-top:1px solid var(--line); padding-top:20px;
  }

  @media (max-width:700px){
    #working-on-now .work-project-summary{
      padding:16px 18px;
      grid-template-columns:auto 1fr auto;
      grid-template-areas:
        "badge badge icon"
        "title title title"
        "label channel channel"
        "preview preview preview";
      row-gap:6px;
    }
    #working-on-now .work-project-expand-label{ justify-self:start; }
    #working-on-now .work-project-details{ padding:0 18px 22px; padding-top:16px; }
  }

  @media (prefers-reduced-motion: reduce){
    #working-on-now .work-project-summary::after{ transition:none; }
  }


  /* ================================================
     COMMUNITY ESSENTIALS — RESOURCE STRIP
     ================================================ */
  .resource-strip{
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:28px 30px;
    margin-top:16px; text-decoration:none;
    transition:border-color .15s ease, transform .15s ease;
  }
  .resource-strip:hover{ border-color:var(--green); transform:translateY(-1px); }
  .resource-strip:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }
  .resource-strip-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 10px;
  }
  .resource-strip-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  .resource-strip h3{ margin:0 0 8px; font-size:1.15rem; letter-spacing:-0.01em; color:var(--ink); }
  .resource-strip-text{ margin:0; font-size:0.94rem; color:var(--ink-soft); max-width:60ch; }
  .resource-strip .arrow-circle{
    flex:none; width:36px; height:36px; border-radius:50%;
    border:1px solid var(--line); color:var(--ink-soft);
    display:inline-flex; align-items:center; justify-content:center;
    transition:border-color .15s ease, color .15s ease;
  }
  .resource-strip:hover .arrow-circle{ border-color:var(--green); color:var(--green-deep); }
  .resource-strip .arrow-circle svg{ width:14px; height:14px; }

  @media (max-width:640px){
    .resource-strip{ flex-direction:column; align-items:flex-start; }
  }


  /* ================================================
     RECORD YOUR CONTRIBUTION TIME — PAGE STYLES
     ================================================ */
  #page-record-your-contribution-time{ --maxw: 880px; }

  #page-record-your-contribution-time .page-header{ padding:28px 0 0; }
  #page-record-your-contribution-time .eyebrow-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-record-your-contribution-time .eyebrow-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-record-your-contribution-time .page-header h1{
    font-size:clamp(2rem, 4.2vw, 2.7rem);
    letter-spacing:-0.025em; line-height:1.12; font-weight:700;
    margin:0 0 22px;
  }
  #page-record-your-contribution-time .page-header .lede{
    font-size:1.06rem; line-height:1.65; color:var(--ink-soft);
    max-width:70ch; margin:0 0 14px;
  }
  #page-record-your-contribution-time .page-header .lede:last-child{ margin-bottom:0; }

  #page-record-your-contribution-time .private-note{
    display:flex; gap:14px; align-items:flex-start;
    background:var(--bg-panel); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:22px 24px; margin:28px 0 8px;
  }
  #page-record-your-contribution-time .private-note svg{ flex:none; margin-top:2px; color:var(--green-deep); }
  #page-record-your-contribution-time .rcy-note-heading{ font-weight:700; color:var(--ink); margin:0 0 8px; font-size:0.96rem; }
  #page-record-your-contribution-time .private-note p{ margin:0 0 10px; font-size:0.9rem; line-height:1.6; color:var(--ink-soft); }
  #page-record-your-contribution-time .rcy-note-followup{ margin-bottom:0 !important; }
  #page-record-your-contribution-time .private-note a{ color:var(--green-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

  #page-record-your-contribution-time section{ padding:44px 0; border-top:1px solid var(--line); }
  #page-record-your-contribution-time section:first-of-type{ border-top:none; }
  #page-record-your-contribution-time .section-label{
    display:flex; align-items:center; gap:8px;
    font-size:0.8rem; font-weight:500; color:var(--green);
    margin:0 0 14px;
  }
  #page-record-your-contribution-time .section-label::before{ content:""; width:16px; height:1.5px; background:var(--green); display:inline-block; }
  #page-record-your-contribution-time h2{
    font-size:clamp(1.3rem, 2.4vw, 1.6rem);
    letter-spacing:-0.02em; line-height:1.25; font-weight:700;
    margin:0 0 12px;
  }
  #page-record-your-contribution-time p{ margin:0 0 14px; color:var(--ink-soft); line-height:1.6; font-size:1rem; }
  #page-record-your-contribution-time p:last-child{ margin-bottom:0; }

  /* Form (reusing the established Hub form visual language, scoped fresh) */
  #page-record-your-contribution-time .tips-form{ margin-top:8px; }
  #page-record-your-contribution-time .field{ margin-bottom:22px; }
  #page-record-your-contribution-time .field-label{
    display:block; font-size:0.9rem; font-weight:600; color:var(--ink); margin:0 0 8px;
  }
  #page-record-your-contribution-time .field-label .optional{
    font-weight:500; color:var(--ink-faint); font-size:0.82rem; margin-left:6px;
  }
  #page-record-your-contribution-time .field-help{
    margin:8px 0 0; font-size:0.84rem; color:var(--ink-faint); line-height:1.5;
  }
  #page-record-your-contribution-time input[type="text"],
  #page-record-your-contribution-time input[type="date"],
  #page-record-your-contribution-time input[type="number"],
  #page-record-your-contribution-time input[type="url"],
  #page-record-your-contribution-time select,
  #page-record-your-contribution-time textarea{
    width:100%; padding:13px 16px; border-radius:12px;
    border:1px solid var(--line); background:var(--white);
    font-family:inherit; font-size:0.96rem; color:var(--ink);
  }
  #page-record-your-contribution-time textarea{ min-height:130px; resize:vertical; }
  #page-record-your-contribution-time input:disabled{ background:var(--bg-panel); color:var(--ink-faint); }
  #page-record-your-contribution-time input:focus-visible,
  #page-record-your-contribution-time select:focus-visible,
  #page-record-your-contribution-time textarea:focus-visible{
    outline:2px solid var(--green); outline-offset:1px; border-color:var(--green);
  }

  #page-record-your-contribution-time .rcy-confirm-text{
    font-size:0.88rem; color:var(--ink-faint); margin:0 0 18px; line-height:1.6;
  }

  #page-record-your-contribution-time .form-error{
    display:none; background:#FBEFEF; border:1px solid #E7C9C9;
    border-radius:var(--radius-md); padding:16px 18px; margin:18px 0;
  }
  #page-record-your-contribution-time .form-error.visible{ display:block; }
  #page-record-your-contribution-time .form-error p{ margin:0; font-size:0.92rem; color:var(--ink); }
  #page-record-your-contribution-time .form-error ul{ margin:0; padding-left:18px; }
  #page-record-your-contribution-time .form-error li{ font-size:0.92rem; color:var(--ink); line-height:1.6; }

  #page-record-your-contribution-time .submit-row{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:8px; }

  #page-record-your-contribution-time .success-block{
    display:none; background:var(--green-tint-soft); border:1px solid #D9E7DF;
    border-radius:var(--radius-lg); padding:32px 30px; margin-top:8px;
  }
  #page-record-your-contribution-time .success-block.visible{ display:block; }
  #page-record-your-contribution-time .success-block h2{ color:var(--green-deep); margin:0 0 12px; }
  #page-record-your-contribution-time .success-block p{ color:#3D5F51; }
  #page-record-your-contribution-time .success-block a{ color:var(--green-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

  /* Buttons (scoped copy, matching established Hub button system) */
  #page-record-your-contribution-time .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #page-record-your-contribution-time .btn:hover{ transform:translateY(-1px); }
  #page-record-your-contribution-time .btn:disabled{ opacity:0.6; cursor:not-allowed; transform:none; }
  #page-record-your-contribution-time .btn:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }
  #page-record-your-contribution-time .btn-primary{ background:var(--black); color:var(--white); }
  #page-record-your-contribution-time .btn-primary:hover{ background:var(--black-soft); }
  #page-record-your-contribution-time .btn-primary .arrow-circle{ color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
  #page-record-your-contribution-time .arrow-circle{
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #page-record-your-contribution-time .arrow-circle svg{ width:13px; height:13px; }

  @media (max-width:560px){
    #page-record-your-contribution-time .btn{
      width:100%; justify-content:center;
      white-space:normal; text-align:center; line-height:1.3;
    }
  }


  /* ================================================
     ORGANIZATION INFORMATION — BRAND IDENTITY ADDITIONS
     ================================================ */
  #page-organization-information .brand-subheading{
    margin-top:32px; font-size:1.02rem;
  }
  #page-organization-information h2 + .brand-subheading{ margin-top:8px; }

  /* Logo card */
  #page-organization-information .brand-logo-card{
    margin-top:18px; background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-lg); padding:40px;
    display:flex; align-items:center; justify-content:center;
  }
  #page-organization-information .brand-logo-img{
    max-width:280px; width:100%; height:auto; display:block;
  }
  #page-organization-information .logo-download-link{
    margin-top:14px;
  }

  /* Standalone symbol card: obsidian background, generous negative space */
  #page-organization-information .symbol-card{
    margin-top:12px; background:#0A0A0A; border-radius:var(--radius-lg);
    padding:64px 40px;
    display:flex; align-items:center; justify-content:center;
  }
  #page-organization-information .symbol-img{
    max-width:220px; width:60%; height:auto; display:block;
  }
  #page-organization-information .symbol-download-row{ margin-top:18px; }
  #page-organization-information .symbol-download-btn{ margin-top:0; }
  #page-organization-information .symbol-download-note{
    margin-top:12px; font-size:0.84rem; color:var(--ink-faint); line-height:1.6;
  }

  @media (max-width:560px){
    #page-organization-information .brand-logo-card{ padding:28px 20px; }
    #page-organization-information .symbol-card{ padding:44px 24px; }
    #page-organization-information .symbol-img{ width:70%; }
  }

  /* Color swatches: text rendered directly on the color card */
  #page-organization-information .color-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-top:20px;
  }
  @media (max-width:820px){ #page-organization-information .color-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ #page-organization-information .color-grid{ grid-template-columns:1fr; } }

  #page-organization-information .color-card{
    border-radius:var(--radius-md); padding:20px 18px 18px;
    display:flex; flex-direction:column; gap:4px; min-height:150px;
  }
  #page-organization-information .color-card h4{ margin:0 0 6px; font-size:0.98rem; font-weight:700; }
  #page-organization-information .color-card .color-hex{
    font-family:'IBM Plex Mono', monospace; font-size:0.86rem; margin:0 0 10px; opacity:0.85;
    user-select:all; color:inherit;
  }
  #page-organization-information .color-card .color-use{ font-size:0.82rem; line-height:1.5; margin:0; opacity:0.85; color:inherit; }

  #page-organization-information .color-card--dark-text{ color:var(--ink); }
  #page-organization-information .color-card--light-text{ color:#FFFFFF; }
  #page-organization-information .color-card--bordered{ border:1px solid var(--line); }

  /* Buttons (scoped copy, matching established Hub button system) */
  #page-organization-information .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-weight:600; font-size:0.96rem;
    padding:14px 20px 14px 22px; border-radius:999px;
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  #page-organization-information .btn:hover{ transform:translateY(-1px); }
  #page-organization-information .btn:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }
  #page-organization-information .btn-primary{ background:var(--black); color:var(--white); }
  #page-organization-information .btn-primary:hover{ background:var(--black-soft); }
  #page-organization-information .btn-primary .arrow-circle{ color:var(--green-on-black); border-color:rgba(79,190,147,0.5); }
  #page-organization-information .arrow-circle{
    width:34px; height:34px; border-radius:50%;
    border:1px solid currentColor;
    display:inline-flex; align-items:center; justify-content:center; flex:none;
  }
  #page-organization-information .arrow-circle svg{ width:13px; height:13px; }

  @media (max-width:560px){
    #page-organization-information .btn{
      width:100%; justify-content:center;
      white-space:normal; text-align:center; line-height:1.3;
    }
  }

