
/* Editorial navy theme, inspired by the provided layout reference. */
:root{--ed-navy:#102d4b;--ed-deep:#092239;--ed-mid:#345f82;--ed-blue:#7297b5;--ed-pale:#f8f7ed;--ed-white:#fffdf5}
body{background:var(--ed-pale);color:var(--ed-navy)}
.site-header{background:var(--ed-navy)!important;border-color:var(--ed-navy)!important}
.site-header .brand,.site-header .nav a{color:var(--ed-white)!important}
.site-header .nav a.active,.site-header .nav a:hover{color:#b5d1e9!important}
.site-header .brand-mark{background:var(--ed-mid)!important;color:white!important;border-color:var(--ed-blue)!important}
.footer{background:var(--ed-navy)!important;color:var(--ed-white)!important}
.footer a{color:var(--ed-white)!important}
.kb-editorial{font-family:Georgia,'Times New Roman',serif;background:var(--ed-pale);color:var(--ed-navy)}
.kb-editorial p,.kb-editorial .nav,.kb-editorial .ed-more,.kb-editorial .ed-label,.kb-editorial .back-link,.kb-editorial .ed-num,.kb-editorial .ed-cta{font-family:Arial,Helvetica,sans-serif}
.kb-editorial .site-header{position:relative;z-index:10}
.kb-intro{padding:86px 0 95px;background:var(--ed-pale)}
.kb-intro-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.7fr);align-items:center;gap:7%}
.ed-label{text-transform:uppercase;letter-spacing:.16em;font-size:.79rem;font-weight:700;color:var(--ed-mid);margin:0 0 25px}
.kb-intro h1{font-size:clamp(3.2rem,6vw,6.5rem);line-height:1.04;font-weight:400;letter-spacing:-.045em;margin:0 0 30px;color:var(--ed-navy)}
.kb-editorial em{font-weight:400;font-style:italic}
.kb-intro p:not(.ed-label){font-size:1.08rem;line-height:1.75;max-width:800px}
.kb-intro .kb-intro-lead{font-size:1.35rem!important;font-weight:700;margin-bottom:10px}
.kb-intro figure{margin:0}.kb-intro figure img{width:100%;max-height:500px;object-fit:cover;display:block}.kb-intro figcaption{font: .83rem/1.5 Arial,sans-serif;color:var(--ed-mid);margin-top:12px}
.kb-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.kb-pills span{border:1px solid #9fb8cb;border-radius:50px;padding:9px 17px;font:600 .79rem Arial,sans-serif}
.kb-categories{padding:90px 0 120px;text-align:center}.centered-label{text-align:center}.kb-categories h2,.kb-end h2,.resource-section h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1.1;letter-spacing:-.045em;font-weight:400;margin:0 0 14px;color:var(--ed-navy)}.ed-section-sub{margin:0 auto 46px;max-width:650px;line-height:1.6}
.ed-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.ed-card{background:var(--ed-navy);border-radius:110px 110px 14px 14px;overflow:hidden;color:var(--ed-white);display:flex;flex-direction:column;text-align:center;min-width:0;box-shadow:0 12px 30px #0a294019}
.ed-card-top{padding:38px 20px 22px;min-height:205px}.ed-num{font-size:.72rem;letter-spacing:.16em;color:#b6cee0}.ed-card h3{font-size:clamp(1.55rem,2.5vw,2.6rem);line-height:1.04;letter-spacing:-.04em;font-weight:400;margin:14px 0}.ed-card p{font-size:.87rem;line-height:1.5;color:#e4edf5;margin:0}
.ed-card img{width:calc(100% - 30px);height:230px;object-fit:cover;margin:0 15px;display:block;background:#dce6eb}.ed-card:first-child img{object-fit:contain;background:#e9f0f5;padding:12px}
.ed-more{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:var(--ed-white);padding:23px 23px 27px;font-size:.9rem;font-weight:700;margin-top:auto}.ed-more:hover{color:#b4d3ee}.ed-more span{font-size:1.3rem}
.kb-end{background:var(--ed-mid);padding:76px 0 90px;text-align:center;color:white}.kb-end h2,.kb-end .ed-label{color:white}.kb-end p{color:white}.ed-cta{display:inline-block;background:var(--ed-white);color:var(--ed-navy);padding:14px 25px;text-decoration:none;margin-top:20px;font-weight:700}
.detail-heading{text-align:center;padding:70px 0 62px;background:var(--ed-pale)}.detail-heading h1{font-size:clamp(3.3rem,7vw,6.6rem);font-weight:400;letter-spacing:-.05em;line-height:1.05;margin:15px 0;color:var(--ed-navy)}.detail-sub{max-width:760px;margin:15px auto 0;font:1.08rem/1.7 Arial,sans-serif}.back-link{display:inline-block;text-decoration:none;color:var(--ed-mid);font-size:.87rem;margin-bottom:40px}.back-link:hover{text-decoration:underline}
.kb-editorial .soft-section{background:#eef3f6!important}.kb-editorial .section-pad{color:var(--ed-navy)}.kb-editorial .section-pad h2,.kb-editorial .section-pad h3{color:var(--ed-navy)}
.kb-editorial .incubator-card{background:var(--ed-navy)!important;color:white!important;padding:35px;border-radius:22px}.kb-editorial .incubator-card h3,.kb-editorial .incubator-card p{color:white!important}.incubator-detail .incubator-card{max-width:1100px;margin:0 auto}.incubator-detail .incubator-photo img{max-height:520px;object-fit:contain}
.kb-editorial .resource-section{background:#e8eff4}.resource-section .resource-list{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.resource-list a{display:flex;justify-content:space-between;gap:20px;padding:18px 22px;background:white;color:var(--ed-navy);font:600 .98rem Arial,sans-serif;text-decoration:none;border:1px solid #c9d8e5}.resource-list a:hover{background:#d6e6f2}
.kb-editorial .reflection{background:var(--ed-navy)!important}.kb-editorial .reflection h2,.kb-editorial .reflection p{color:white!important}
@media(max-width:1050px){.ed-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-intro-grid{gap:35px}.ed-card img{height:260px}}
@media(max-width:700px){.kb-intro{padding:48px 0 60px}.kb-intro-grid{grid-template-columns:1fr}.kb-intro figure{max-width:370px}.kb-categories{padding:60px 0}.ed-cards{grid-template-columns:1fr;max-width:430px;margin:auto}.ed-card{border-radius:100px 100px 14px 14px}.ed-card img{height:290px}.resource-section .resource-list{grid-template-columns:1fr}.detail-heading{padding:45px 0}.detail-heading h1{font-size:3.3rem}}
/* Shared blue palette on the remaining portfolio pages */
body:not(.kb-editorial){--ink:#102d4b;--navy:#102d4b;--blue:#345f82;--accent:#7297b5}

/* v104: centered page headings and paired app download cards */
.page-hero .page-hero-grid{display:block!important;text-align:center!important;}
.page-hero .page-hero-grid>div{width:100%!important;max-width:none!important;grid-area:auto!important;}
.page-hero .hero-label{display:inline-block;}
.page-hero h1{font-size:clamp(2.6rem,5.3vw,4.9rem)!important;line-height:1.1!important;max-width:1100px!important;margin:20px auto 24px!important;text-align:center!important;text-wrap:balance;}
.page-hero .lede{max-width:850px!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
.incubator-download{background:var(--ed-navy);padding:72px 0 85px;text-align:center;color:#fff;}
.incubator-download h2{font-size:clamp(2.4rem,4.5vw,4rem);font-weight:400;margin:0 0 12px;color:#fff;}
.incubator-download>.shell>p{color:#dbe8f3;margin:0 auto 32px;}
.incubator-download .download-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1180px;margin:auto;}
.incubator-download .hero-download-card{display:flex;align-items:center;gap:22px;text-align:left;background:#fff;border-radius:24px;padding:22px 26px;min-width:0;color:var(--ed-navy);}
.incubator-download .hero-qr-link{display:block;flex:0 0 138px;width:138px;height:138px;}
.incubator-download .hero-qr-image{display:block;width:138px!important;height:138px!important;object-fit:contain;border-radius:12px;border:1px solid #d6e1e9;background:#fff;}
.incubator-download .hero-download-copy{min-width:0;font-family:Arial,Helvetica,sans-serif;}
.incubator-download .hero-download-label{font-size:1rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--ed-navy);margin:0 0 12px;}
.incubator-download .hero-download-text{font-size:1rem;color:#456782;margin:0 0 18px;}
.incubator-download .hero-download-link{color:var(--ed-navy);font-weight:700;text-underline-offset:5px;}
@media(max-width:780px){.incubator-download .download-cards-grid{grid-template-columns:1fr;max-width:540px}.incubator-download .hero-download-card{padding:18px;gap:16px}.incubator-download .hero-qr-link,.incubator-download .hero-qr-image{width:112px!important;height:112px!important;flex-basis:112px}}
@media(max-width:420px){.incubator-download .hero-download-card{flex-direction:column;text-align:center}.incubator-download .hero-download-copy{text-align:center}}

/* Consistent app download cards on both Kidney Buddy detail pages. */
.incubator-download .download-cards-grid {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;width:100%!important;max-width:1100px!important;margin:32px auto 0!important;}
.incubator-download .hero-download-card.page-bottom-download-card {display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:20px!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:22px!important;background:#fff!important;border-radius:24px!important;text-align:left!important;}
.incubator-download .hero-qr-link {display:block!important;flex:0 0 138px!important;width:138px!important;height:138px!important;max-width:138px!important;max-height:138px!important;margin:0!important;padding:0!important;overflow:hidden!important;}
.incubator-download .hero-qr-image {display:block!important;width:138px!important;height:138px!important;max-width:138px!important;max-height:138px!important;object-fit:contain!important;margin:0!important;padding:0!important;}
.incubator-download .hero-download-copy {display:block!important;flex:1 1 auto!important;min-width:0!important;text-align:left!important;}
.incubator-download .hero-download-label {color:#102d4b!important;}
.incubator-download .hero-download-badge{display:block;height:40px;width:auto;max-width:340px;object-fit:contain;margin:0 0 14px;}
@media(max-width:780px){.incubator-download .hero-download-badge{height:34px;max-width:280px}}

.incubator-download .hero-download-text {color:#456782!important;}
.incubator-download .hero-download-link {color:#102d4b!important;}
@media(max-width:780px){.incubator-download .download-cards-grid{grid-template-columns:1fr!important;max-width:550px!important;}}
@media(max-width:420px){.incubator-download .hero-download-card.page-bottom-download-card{flex-direction:column!important;text-align:center!important}.incubator-download .hero-download-copy{text-align:center!important}}
/* Editorial homepage hero — inspired by spacious two-column portfolio layouts */
.home-hero {padding: 94px 0 100px;}
.home-hero .home-hero-grid {display:grid;grid-template-columns:minmax(0,1.75fr) minmax(245px,.72fr);gap:clamp(38px,5vw,90px);align-items:center;}
.home-hero .hero-intro {min-width:0;}
.home-hero .hero-overline {font-size:clamp(15px,1.5vw,20px);font-weight:500;letter-spacing:-.025em;margin:0 0 52px;line-height:1.5;}
.home-hero .hero-display {font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,5.35vw,84px);line-height:1.08;letter-spacing:-.058em;font-weight:400;margin:0 0 30px;max-width:1000px;}
.home-hero .hero-display em {font-style:italic;font-weight:400;}
.home-hero .hero-description {max-width:830px;font-size:clamp(16px,1.18vw,19px);line-height:1.65;margin:0 0 18px;}
.home-hero .hero-description strong {font-weight:750;}
.home-hero .hero-portrait {margin:0;align-self:center;}
.home-hero .portrait-placeholder {aspect-ratio: 3/4;min-height:350px;border:1px solid rgba(55,84,115,.25);background:linear-gradient(145deg,#e6ebf1,#d2dce7);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;color:#526a82;text-align:center;padding:24px;}
.home-hero .portrait-placeholder svg {width:58px;height:58px;opacity:.6;}
.home-hero .portrait-placeholder span {font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.home-hero .portrait-caption {font-size:12px;opacity:.7;margin:10px 0 0;text-align:center;}
@media(max-width:850px){.home-hero{padding:60px 0 75px}.home-hero .home-hero-grid{grid-template-columns:1fr;gap:35px}.home-hero .hero-overline{margin-bottom:30px}.home-hero .hero-display{font-size:clamp(43px,8vw,68px)}.home-hero .hero-portrait{width:min(100%,370px);margin:auto}.home-hero .portrait-placeholder{min-height:300px}}

/* Presentations page: selected recognitions */
.kb-recognitions{background:#e8eff4;padding-top:75px;padding-bottom:85px;}
.kb-recognitions h2{font-size:clamp(2.5rem,4.4vw,4.4rem);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin:0 0 16px;}
.kb-recognitions-intro{max-width:710px;font:1rem/1.65 Arial,Helvetica,sans-serif;margin:0 0 32px;}
.kb-recognition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.kb-recognition-card{background:#fffdf8;border:1px solid #c8d9e7;border-radius:12px;padding:32px;display:flex;flex-direction:column;min-height:250px;box-shadow:0 8px 24px #0a29400c;}
.kb-recognition-card .kb-recognition-meta{font:700 .77rem/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#527797;margin:0 0 15px;}
.kb-recognition-card h3{font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.2;letter-spacing:-.025em;font-weight:400;margin:0 0 12px;}
.kb-recognition-card .kb-recognition-distinction{font:1rem/1.55 Arial,Helvetica,sans-serif;margin:0 0 24px;color:#345f82;}
.kb-recognition-card a{font:700 .92rem/1.5 Arial,Helvetica,sans-serif;color:#102d4b;text-decoration:none;border-bottom:1px solid #7297b5;align-self:flex-start;margin-top:auto;padding-bottom:3px;}
.kb-recognition-card a:hover,.kb-recognition-card a:focus-visible{color:#345f82;border-color:#345f82;}
@media(max-width:700px){.kb-recognitions{padding-top:55px;padding-bottom:65px}.kb-recognition-grid{grid-template-columns:1fr}.kb-recognition-card{min-height:0;padding:25px}}

/* Clickable YouTube preview images for recognition cards */
.kb-video-preview{display:block;position:relative;overflow:hidden;border-radius:8px;background:#102b46;aspect-ratio:16/9;margin:-10px -10px 22px;text-decoration:none;}
.kb-video-preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease;}
.kb-video-preview:hover img,.kb-video-preview:focus-visible img{transform:scale(1.035);}
.kb-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:62px;height:43px;border-radius:12px;background:#e62117;color:white;font-size:22px;line-height:1;box-shadow:0 3px 16px #0005;}
.kb-video-preview:hover .kb-video-play{background:#c71911;}

/* Display the original Congressional App Challenge photograph in full. */
.kb-video-preview.kb-photo-full{aspect-ratio:auto;background:transparent;}
.kb-video-preview.kb-photo-full img{width:100%;height:auto;object-fit:contain;}
.kb-video-preview.kb-photo-full:hover img,.kb-video-preview.kb-photo-full:focus-visible img{transform:none;}

/* Match all four recognition image areas while keeping the full original award photo visible. */
.kb-video-preview.kb-photo-full { aspect-ratio: 16 / 9; background: #f1f4f7; display: flex; align-items: center; justify-content: center; }
.kb-video-preview.kb-photo-full img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }

/* Congressional award photo identification */
.kb-recognition-card .kb-award-photo-caption{font:400 .8rem/1.4 Arial,Helvetica,sans-serif;color:#527797;text-align:center;margin:-12px 0 18px;}

/* Leadership photo gallery */
.kb-leadership-gallery-wrap { margin-top: 2.5rem; }
.kb-leadership-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: center; }
.kb-leadership-gallery-item { margin: 0; min-width: 0; border-radius: 14px; overflow: hidden; background: #eef1f3; display: flex; justify-content: center; align-items: center; }
.kb-leadership-gallery-item img { display: block; width: 100%; height: auto; object-fit: contain; }
@media (max-width: 800px) { .kb-leadership-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .kb-leadership-gallery { grid-template-columns: 1fr; } }


/* Consistent, reduced page headline scale across the portfolio. */
.page-hero h1 {
  font-size: clamp(2.35rem, 4.2vw, 3.65rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em;
  max-width: 1050px !important;
  text-wrap: balance;
}
.detail-heading h1 {
  font-size: clamp(2.5rem, 4.8vw, 4.5rem);
  line-height: 1.1;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.kb-intro h1 {
  font-size: clamp(2.6rem, 4.8vw, 4.5rem);
  line-height: 1.1;
  text-wrap: balance;
}
.home-hero .hero-display {
  font-size: clamp(2.65rem, 5vw, 4.8rem);
  line-height: 1.08;
}
@media (max-width: 700px) {
  .page-hero h1 { font-size: clamp(2.1rem, 7vw, 3rem) !important; }
  .detail-heading h1 { font-size: clamp(2.3rem, 7vw, 3.1rem); }
  .kb-intro h1 { font-size: clamp(2.4rem, 7vw, 3.2rem); }
  .home-hero .hero-display { font-size: clamp(2.3rem, 7.5vw, 3.35rem); }
}

/* Compact section spacing throughout the portfolio */
.section-pad,.kb-editorial .section-pad{padding-top:56px;padding-bottom:56px}
.page-hero{padding-top:48px;padding-bottom:44px}
.detail-heading{padding-top:46px;padding-bottom:42px}
.detail-heading .back-link{margin-bottom:20px}
.kb-intro{padding-top:56px;padding-bottom:52px}
.kb-categories{padding-top:52px;padding-bottom:60px}
.kb-end,.incubator-download{padding-top:48px;padding-bottom:54px}
.kb-recognitions{padding-top:52px;padding-bottom:58px}
.home-hero{padding-top:54px;padding-bottom:58px}
.home-hero .hero-overline{margin-bottom:22px}
.home-hero .hero-display{margin-bottom:18px}
.home-hero .hero-description{margin-bottom:12px}
.home-hero .home-hero-grid{gap:clamp(24px,3vw,48px)}
.home-hero .home-portrait-photo{display:block;width:100%;height:auto;max-height:510px;object-fit:contain;object-position:center;border-radius:14px}
.home-hero .portrait-caption{margin-top:8px}
.ed-label{margin-bottom:14px}
.ed-section-sub{margin-bottom:28px}
.kb-leadership-gallery-wrap{margin-top:1.5rem}
@media(max-width:700px){
.section-pad,.kb-editorial .section-pad{padding-top:38px;padding-bottom:38px}
.page-hero,.detail-heading{padding-top:35px;padding-bottom:30px}
.kb-intro,.kb-categories,.kb-end,.incubator-download,.kb-recognitions{padding-top:36px;padding-bottom:40px}
.home-hero{padding-top:35px;padding-bottom:42px}
.home-hero .home-portrait-photo{max-height:440px}
}

/* v108: tighter, consistent vertical rhythm for content-dense reading. */
.section-pad, .kb-editorial .section-pad {padding-top:38px !important;padding-bottom:38px !important;}
.page-hero {padding-top:30px !important;padding-bottom:26px !important;}
.page-hero h1 {margin-top:12px !important;margin-bottom:13px !important;}
.page-hero .lede {margin-top:10px !important;margin-bottom:8px !important;}
.detail-heading {padding-top:32px !important;padding-bottom:28px !important;}
.detail-heading .back-link {margin-bottom:13px !important;}
.detail-heading h1 {margin-bottom:12px !important;}
.kb-intro {padding-top:38px !important;padding-bottom:38px !important;}
.kb-categories {padding-top:36px !important;padding-bottom:44px !important;}
.kb-end,.incubator-download {padding-top:35px !important;padding-bottom:40px !important;}
.kb-recognitions {padding-top:38px !important;padding-bottom:42px !important;}
.home-hero {padding-top:38px !important;padding-bottom:42px !important;}
.ed-section-sub {margin-bottom:20px !important;}
.kb-leadership-gallery-wrap {margin-top:1.15rem !important;}
/* Entire chapter card is an accessible native link, not just the footer label. */
.ed-card-link {text-decoration:none;color:var(--ed-white);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;}
.ed-card-link:visited {color:var(--ed-white);}
.ed-card-link:hover {transform:translateY(-3px);box-shadow:0 17px 34px #0a294033;}
.ed-card-link:hover .ed-more {color:#b4d3ee;}
.ed-card-link:focus-visible {outline:3px solid #7297b5;outline-offset:5px;}
@media(max-width:700px){
 .section-pad,.kb-editorial .section-pad {padding-top:28px !important;padding-bottom:28px !important;}
 .page-hero,.detail-heading {padding-top:27px !important;padding-bottom:23px !important;}
 .kb-intro,.kb-categories,.kb-end,.incubator-download,.kb-recognitions {padding-top:28px !important;padding-bottom:31px !important;}
 .home-hero {padding-top:26px !important;padding-bottom:31px !important;}
}

/* Match all photo heights within each row without cropping their contents. */
.kb-leadership-gallery { align-items: stretch; }
.kb-leadership-gallery-item { height: clamp(220px, 21vw, 345px); }
.kb-leadership-gallery-item img { width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 780px) { .kb-leadership-gallery-item { height: 280px; } }
@media (max-width: 540px) { .kb-leadership-gallery-item { height: auto; min-height: 0; } .kb-leadership-gallery-item img { height: auto; } }

/* v110: consistent, restrained section-level headlines on every page */
main .section-heading h2,
main .advocacy-section-heading h2,
main .section-pad > .shell > h2,
main .kb-categories h2,
main .kb-end h2,
main .resource-section h2,
main .reflection h2,
main .leadership-grid h2,
main .kb-recognitions h2 {
  font-size: clamp(1.9rem, 3.2vw, 3rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em;
  margin-bottom: 18px;
}
@media (max-width: 700px) {
 main .section-heading h2, main .advocacy-section-heading h2,
 main .section-pad > .shell > h2, main .kb-categories h2, main .kb-end h2,
 main .resource-section h2, main .reflection h2, main .leadership-grid h2,
 main .kb-recognitions h2 { font-size: clamp(1.8rem, 6vw, 2.35rem) !important; }
}

/* v111: smaller section headlines site-wide; takes precedence over older heading rules. */
main h2, main .section-heading h2, main .advocacy-section-heading h2,
main .section-pad > .shell > h2, main .kb-categories h2,
main .kb-end h2, main .resource-section h2, main .reflection h2,
main .leadership-grid h2, main .kb-recognitions h2 {
  font-size: clamp(1.65rem, 2.35vw, 2.35rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.025em;
}
@media (max-width: 700px) {
  main h2, main .section-heading h2, main .advocacy-section-heading h2,
  main .section-pad > .shell > h2, main .kb-categories h2,
  main .kb-end h2, main .resource-section h2, main .reflection h2,
  main .leadership-grid h2, main .kb-recognitions h2 {
    font-size: clamp(1.5rem, 5.1vw, 1.95rem) !important;
  }
}


/* Homepage four-path cards: compact, consistent type and vertical alignment. */
.home-hero + .soft-section .path-grid { align-items: stretch; }
#work .path-card { min-height: 275px; padding: clamp(22px, 2.25vw, 32px); min-width: 0; }
#work .path-card h3 { font-size: clamp(1.85rem, 2.55vw, 2.35rem); line-height: 1.1; margin: 22px 0 12px; }
#work .path-card p { margin-bottom: 18px; max-width: none; line-height: 1.55; }
#work .path-card .path-link { margin-top: auto; padding-top: 6px; }
#work .path-card:focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; }
@media (max-width: 700px) {
  #work .path-card { min-height: 0; }
  #work .path-card h3 { font-size: clamp(1.85rem, 6.1vw, 2.25rem); }
}


/* Homepage: restrained featured-project panel, following the four overview cards. */
.home-featured-section { background: #fbfaf6; }
.home-featured-project {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 60px);
  border: 1px solid #d9e4e3;
  border-radius: 24px;
  padding: clamp(22px, 3.5vw, 42px);
  background: #fff;
}
.home-featured-visual {
  min-width: 0;
  min-height: 370px;
  border-radius: 18px;
  background: #eaf1f2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 18px;
}
.home-featured-device {
  width: min(185px, 88%);
  margin: 0;
  padding: 6px;
  border-radius: 22px;
  box-shadow: 0 13px 30px rgba(19, 44, 69, .14);
}
.home-featured-device img { height: auto; width: 100%; border-radius: 16px; }
.home-featured-visual-label {
  margin: 0;
  color: #536978;
  font-size: 12px;
  letter-spacing: .015em;
  text-align: center;
}
.home-featured-copy { min-width: 0; }
.home-featured-copy .eyebrow { margin-bottom: 12px; }
.home-featured-copy h2 {
  max-width: 570px;
  margin: 0 0 18px;
  color: #102d4b;
  text-wrap: balance;
}
.home-featured-copy > p:not(.eyebrow) {
  max-width: 570px;
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.65;
  color: #536978;
  margin-bottom: 13px;
}
.home-featured-copy .home-featured-journey { font-style: italic; }
.home-featured-cta {
  margin-top: 12px;
  gap: 8px;
  font-size: 13px;
  max-width: 100%;
  text-align: center;
}
.home-featured-cta:focus-visible { outline: 3px solid #2f7b7d; outline-offset: 4px; }
@media (max-width: 760px) {
  .home-featured-project { grid-template-columns: 1fr; gap: 24px; }
  .home-featured-visual { min-height: 0; padding: 20px; }
  .home-featured-device { width: min(175px, 75%); }
  .home-featured-copy h2 { margin-bottom: 14px; }
}


/* Dallas Chinese News article feature: compact responsive media card. */
.advocacy-news-section { padding-top: 42px; padding-bottom: 42px; }
.advocacy-news-card {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(22px, 3.2vw, 48px);
  background: #fff;
  border: 1px solid #d9e5e4;
  border-radius: 22px;
  padding: clamp(18px, 2.5vw, 32px);
}
.advocacy-news-figure { margin: 0; min-width: 0; }
.advocacy-news-figure a { display: block; border-radius: 10px; overflow: hidden; }
.advocacy-news-figure a:focus-visible, .advocacy-news-link:focus-visible { outline: 3px solid #276b79; outline-offset: 4px; }
.advocacy-news-figure img { display: block; width: 100%; height: auto; object-fit: contain; border: 1px solid #e0e3e7; }
.advocacy-news-figure figcaption { font-size: .79rem; margin-top: 10px; color: #5c6f78; line-height: 1.4; }
.advocacy-news-copy { min-width: 0; }
.advocacy-news-copy h2 { margin: 10px 0 12px; font-size: clamp(1.55rem, 2.4vw, 2.35rem) !important; line-height: 1.16; }
.advocacy-news-copy > p:not(.eyebrow) { max-width: 560px; line-height: 1.6; color: #536b78; }
.advocacy-news-date { font-weight: 650; color: #193e5a !important; margin: 0 0 14px; }
.advocacy-news-link { display: inline-block; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; color: #0f465a; margin-top: 10px; }
.advocacy-news-language { font-size: .86rem; margin: 14px 0 0; }
@media (max-width: 760px) {
  .advocacy-news-section { padding-top: 32px; padding-bottom: 32px; }
  .advocacy-news-card { grid-template-columns: 1fr; gap: 22px; }
  .advocacy-news-figure { max-width: 560px; }
}

/* Kidney Buddy overview: make the four chapter calls to action more prominent. */
.kb-editorial .ed-card-link > .ed-more {
  font-size: clamp(1.12rem, 1.25vw, 1.25rem);
  font-weight: 800;
  line-height: 1.35;
}
.kb-editorial .ed-card-link > .ed-more > span {
  font-size: 1.5rem;
}
@media (max-width: 700px) {
  .kb-editorial .ed-card-link > .ed-more { font-size: 1.1rem; }
}


/* Kidney Buddy: high-visibility calls to action on chapter cards (no flashing). */
.kb-editorial .ed-card-link > .ed-more {
  background: #f5d583;
  color: #112f4b;
  border-radius: 11px;
  margin: auto 16px 18px;
  padding: 13px 16px;
  font-size: clamp(1.1rem, 1.25vw, 1.26rem);
  font-weight: 800;
  line-height: 1.35;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.09);
  transition: background-color .18s ease, box-shadow .18s ease;
}
.kb-editorial .ed-card-link > .ed-more > span {
  color: inherit;
  font-size: 1.5rem;
}
.kb-editorial .ed-card-link:hover > .ed-more,
.kb-editorial .ed-card-link:focus-visible > .ed-more {
  background: #ffe7a5;
  color: #0e2d49;
  box-shadow: 0 3px 12px rgba(245, 213, 131, .32);
}
@media (max-width:700px) {
  .kb-editorial .ed-card-link > .ed-more { font-size: 1.1rem; }
}


/* v112: show the full Iterations app screenshot without cropping. */
.ed-card img.ed-card-image-full{object-fit:contain;background:#e9f0f5;padding:10px;height:260px;}
@media(max-width:1050px){.ed-card img.ed-card-image-full{height:280px;}}
@media(max-width:700px){.ed-card img.ed-card-image-full{height:320px;}}


/* v113: show Kidney Buddy progress in the Iterations card with two uncropped screenshots. */
.ed-card-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 15px 6px;align-items:start;}
.ed-card-shot{background:#e9f0f5;padding:8px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;min-width:0;}
.ed-card-tag{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ed-navy);opacity:.75;line-height:1.2;}
.ed-card-duo .ed-card-image-full{width:100%;height:240px;object-fit:contain;margin:0;background:#e9f0f5;padding:0;display:block;}
@media(max-width:1050px){.ed-card-duo .ed-card-image-full{height:205px;}}
@media(max-width:700px){.ed-card-duo{gap:8px;margin:0 12px 6px;}.ed-card-shot{padding:6px;gap:6px;}.ed-card-tag{font-size:.72rem;}.ed-card-duo .ed-card-image-full{height:165px;}}

/* Card refinements: align image tops, retain full development screenshots, trim empty space. */
.kb-editorial .kb-categories .ed-card-top {
  height: 230px;
  min-height: 230px;
  box-sizing: border-box;
  flex: 0 0 230px;
}
/* The Iterations pair occupies the same visual space as the other three photographs. */
.kb-editorial .kb-categories .ed-card-duo-iterations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
  height: 230px;
  box-sizing: border-box;
  margin: 0 15px;
  align-items: stretch;
}
.kb-editorial .kb-categories .ed-card-duo-iterations .ed-card-shot {
  min-width: 0;
  height: 230px;
  box-sizing: border-box;
  padding: 5px 4px;
  gap: 3px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
}
.kb-editorial .kb-categories .ed-card-duo-iterations .ed-card-tag {
  display: block;
  line-height: 1.1;
  margin: 0;
  min-height: 27px;
  font-size: .72rem;
}
/* Override the older 260px image sizing and padding that caused vertical blank space. */
.kb-editorial .kb-categories .ed-card-duo-iterations .ed-card-shot img.ed-card-image-full {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 190px;
  max-height: 190px;
  padding: 0;
  margin: 0;
  object-fit: contain;
  object-position: top center;
  background: transparent;
  flex: 0 1 auto;
}
.kb-editorial .kb-categories .ed-card-duo-iterations + .ed-more {
  margin-top: auto;
}
@media (max-width: 1050px) {
  .kb-editorial .kb-categories .ed-card-top {
    height: 230px;
    min-height: 230px;
    flex-basis: 230px;
  }
}
@media (max-width: 700px) {
  .kb-editorial .kb-categories .ed-card-duo-iterations {
    margin: 0 15px;
    gap: 10px;
  }
  .kb-editorial .kb-categories .ed-card-duo-iterations .ed-card-shot img.ed-card-image-full {
    height: 190px;
    max-height: 190px;
  }
}

/* Preserve the full MIT presentation photo within its card. */
.kb-editorial .kb-categories .ed-card img[src$="mit-presentations-card.webp"] { object-fit: contain; background: #dce6eb; }


/* Official Youth Incubator banner on the Iterations introduction. */
.kb-editorial .detail-heading .incubator-program-banner-link {
  display: block;
  max-width: 860px;
  width: 100%;
  margin: 18px auto 0;
  color: #21526c;
  font: 600 .86rem/1.5 Arial,Helvetica,sans-serif;
  text-decoration: none;
}
.kb-editorial .detail-heading .incubator-program-banner-link img {
  display: block;
  width: 100%;
  max-width: 860px;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
  margin: 0 auto;
}
.kb-editorial .detail-heading .incubator-program-banner-link span {
  display: block;
  margin-top: 9px;
}
.kb-editorial .detail-heading .incubator-program-banner-link:hover span,
.kb-editorial .detail-heading .incubator-program-banner-link:focus-visible span {
  text-decoration: underline;
}
.kb-editorial .detail-heading .incubator-program-banner-link:focus-visible {
  outline: 3px solid #3f8b99;
  outline-offset: 6px;
}
@media (max-width:700px) {
  .kb-editorial .detail-heading .incubator-program-banner-link { margin-top: 16px; }
  .kb-editorial .detail-heading .incubator-program-banner-link span { font-size: .78rem; }
}

/* Selective-incubator recognition: compact, prominent and responsive. */
.kb-editorial .detail-heading .incubator-recognition {
  background:#edf3f6;
  border-radius:18px;
  padding:24px 22px 18px;
  max-width:1100px;
  margin:26px auto 0;
  text-align:center;
}
.kb-editorial .detail-heading .incubator-recognition-label {
  margin:0 0 8px;
  font:700 .75rem/1.4 Arial,Helvetica,sans-serif;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#1d6872;
}
.kb-editorial .detail-heading .incubator-recognition h2 {
  font:600 clamp(1.65rem,3.1vw,2.5rem)/1.15 Georgia,'Times New Roman',serif !important;
  letter-spacing:-.025em;
  color:#102d4b;
  margin:0 auto 10px;
}
.kb-editorial .detail-heading .incubator-recognition-description {
  font:400 clamp(.94rem,1.25vw,1.06rem)/1.5 Arial,Helvetica,sans-serif;
  max-width:950px;
  margin:0 auto;
  color:#24536d;
}
.kb-editorial .detail-heading .incubator-recognition .incubator-program-banner-link {margin-top:16px;}
@media(max-width:700px) {
  .kb-editorial .detail-heading .incubator-recognition {padding:18px 12px 18px;margin-top:20px;border-radius:14px;}
  .kb-editorial .detail-heading .incubator-recognition h2 {font-size:clamp(1.45rem,6vw,1.9rem) !important;}
  .kb-editorial .detail-heading .incubator-recognition-description {font-size:.9rem;}
}

/* Incubator selectivity is detailed on the Growth page rather than repeated on Iterations. */
.kb-editorial .detail-heading .iteration-incubator-crosslink {
  margin: 12px auto 0;
  font: 700 clamp(1.05rem, 1.35vw, 1.22rem)/1.5 Arial,Helvetica,sans-serif;
}
.kb-editorial .detail-heading .iteration-incubator-crosslink a {
  color: #235970;
  text-underline-offset: 4px;
}
.kb-editorial .detail-heading .iteration-incubator-crosslink a:hover { color: #0e2d49; }
/* Incubator partner banner: larger within the recognition panel, without cropping. */
.kb-editorial.incubator-detail-page .detail-heading .incubator-recognition {
  max-width: 1100px;
  padding: 24px 24px 20px;
  margin: 20px auto 0;
}
.kb-editorial.incubator-detail-page .detail-heading .incubator-recognition .incubator-program-banner-link {
  width: 100%;
  max-width: 850px;
  margin: 16px auto 0;
}
.kb-editorial.incubator-detail-page .detail-heading .incubator-recognition .incubator-program-banner-link img {
  width: 100%;
  max-width: 850px;
  height: auto;
  object-fit: contain;
}
.kb-editorial .incubator-card .incubator-outcome {
  margin-top: 15px;
  color: rgba(255,255,255,.95);
  font-size: .98rem;
  line-height: 1.6;
}
.kb-editorial .incubator-card .incubator-outcome strong { color: #fff; }
@media (max-width: 700px) {
  .kb-editorial.incubator-detail-page .detail-heading .incubator-recognition { padding: 18px 14px; }
  .kb-editorial.incubator-detail-page .detail-heading .incubator-recognition .incubator-program-banner-link {
    max-width: 100%;
  }
}

/* Incubator cohort: give the group photograph more prominence without cropping. */
.kb-editorial.incubator-detail-page .incubator-detail .incubator-card {
  max-width: 1420px;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 34px;
}
.kb-editorial.incubator-detail-page .incubator-detail .incubator-photo img {
  width: 100%;
  max-height: none;
  height: auto;
  object-fit: contain;
}
.kb-editorial.incubator-detail-page .incubator-photo figcaption {
  margin-top: 12px;
  line-height: 1.45;
}
.kb-editorial.incubator-detail-page .incubator-photo figcaption strong {
  color: #fff;
  font-weight: 700;
}
@media (max-width: 900px) {
  .kb-editorial.incubator-detail-page .incubator-detail .incubator-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
}


/* Standardized primary titles across all four Kidney Buddy detail pages.
   Ensures presentations (previously an h2) matches the other detail page titles. */
.kb-editorial .detail-heading > .shell > h1 {
  font-size: clamp(2.45rem, 4.2vw, 4rem) !important;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.04em;
  margin: 15px auto 12px;
  max-width: 1100px;
  text-wrap: balance;
}
@media (max-width: 700px) {
  .kb-editorial .detail-heading > .shell > h1 {
    font-size: clamp(2.1rem, 7vw, 3rem) !important;
  }
}
