.patron-page{
  background:#fff;
  color:#303d47;
}

.patron-hero{
  min-height:105px;
  background:
    linear-gradient(90deg,rgba(224,244,255,.98) 0%,rgba(224,244,255,.92) 45%,rgba(224,244,255,.38) 72%,rgba(224,244,255,.14) 100%),
    url("../../assets/images/facility-campus.jpg") center 46%/cover no-repeat;
  border-top:1px solid #e1ebf2;
  border-bottom:1px solid #d9e7f0;
}

.patron-hero-inner{
  min-height:105px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.patron-title h2{
  margin:0;
  color:#073f6d;
  font:700 31px Georgia,"Times New Roman",serif;
}

.patron-title span{
  display:block;
  width:43px;
  height:4px;
  margin-top:12px;
  background:#1688d1;
}

.patron-breadcrumb{
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 14px;
  border-radius:7px;
  background:rgba(255,255,255,.92);
  color:#294a65;
  font-size:12px;
  white-space:nowrap;
}

.patron-breadcrumb a{color:#294a65}
.patron-breadcrumb strong{color:#073f6d}

.patron-content{
  padding:18px 0 24px;
}

.patron-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:28px;
  align-items:start;
}

.saint-card{
  margin:0;
  padding:7px 7px 0;
  background:#eef8ff;
  border:1px solid #e2edf4;
}

.saint-card img{
  display:block;
  width:100%;
  height:auto;
  background:#ddd;
}

.saint-caption{
  padding:10px 5px 12px;
  text-align:center;
  color:#064675;
  font-size:11px;
  line-height:1.35;
}

.saint-caption strong{display:block}
.saint-caption span{
  display:block;
  margin-top:5px;
  font-weight:700;
}

.saint-biography h1{
  margin:-2px 0 8px;
  color:#07508a;
  font-size:24px;
  line-height:1.13;
  font-weight:800;
}

.saint-biography h1 span{
  white-space:nowrap;
}

.saint-biography p,
.legacy-card p{
  margin:0 0 8px;
  font-size:12.5px;
  line-height:1.38;
}

.bio-section{
  margin-top:13px;
}

.bio-section h3{
  position:relative;
  margin:0 0 13px;
  padding-bottom:8px;
  color:#07508a;
  font-size:19px;
  line-height:1.2;
  font-weight:800;
}

.bio-section h3::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:34px;
  height:3px;
  background:#1688d1;
}

.legacy-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:12px;
}

.legacy-card{
  padding:16px 18px 17px;
  background:linear-gradient(135deg,#edf8ff 0%,#f8fcff 100%);
  border:1px solid #e0edf5;
  border-radius:3px;
}

.legacy-card h2{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid #d8e8f2;
  color:#07508a;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
}

.open-quote{
  display:inline-block;
  color:#1586d1;
  font:800 47px/24px Georgia,"Times New Roman",serif;
  transform:translateY(7px);
}

/* Intentionally a single OPEN quotation mark only, as approved. */
.teaching-card h2::after{content:none}

.teaching-card ul{
  margin:0;
  padding:0;
  list-style:none;
}

.teaching-card li{
  position:relative;
  margin:0 0 14px;
  padding-left:18px;
  font-size:12.5px;
  line-height:1.42;
}

.teaching-card li::before,
.works-list li::before{
  content:"";
  position:absolute;
  left:1px;
  top:.58em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#087bc1;
}

/* CSS book icon: no external library and no image dependency. */
.book-icon{
  position:relative;
  display:inline-block;
  width:21px;
  height:18px;
  flex:0 0 21px;
  font-size:0;
}

.book-icon::before,
.book-icon::after{
  content:"";
  position:absolute;
  top:1px;
  width:9px;
  height:15px;
  border:2px solid #1688d1;
  background:#fff;
}

.book-icon::before{
  left:0;
  border-radius:3px 0 0 2px;
  transform:skewY(7deg);
}

.book-icon::after{
  right:0;
  border-radius:0 3px 2px 0;
  transform:skewY(-7deg);
}

.works-intro{
  display:block;
  margin:10px 0 7px;
  color:#07508a;
  font-size:12px;
}

.works-list{
  columns:2;
  column-gap:28px;
  margin:0;
  padding:0;
  list-style:none;
}

.works-list li{
  position:relative;
  break-inside:avoid;
  padding-left:13px;
  margin:0 0 3px;
  font-size:11.5px;
  line-height:1.3;
}

@media(max-width:900px){
  .patron-layout{
    grid-template-columns:180px minmax(0,1fr);
    gap:20px;
  }

  .legacy-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .patron-hero-inner{
    min-height:auto;
    padding-top:20px;
    padding-bottom:20px;
    flex-direction:column;
    align-items:flex-start;
  }

  .patron-breadcrumb{
    white-space:normal;
    flex-wrap:wrap;
  }

  .patron-layout{
    grid-template-columns:1fr;
  }

  .saint-card{
    width:220px;
    max-width:100%;
  }

  .saint-biography h1{
    font-size:22px;
  }

  .works-list{
    columns:1;
  }
}
