/* ==================== */
/* Theme Tokens */
/* ==================== */
:root{
  --bg:#08090b;
  --bg-soft:#101115;
  --bg-panel:#14151a;
  --bg-panel-2:#1a1b21;
  --line:rgba(255,255,255,0.08);
  --line-accent:rgba(255,106,0,0.26);
  --text:#f6f1e9;
  --text-soft:#ddd2c4;
  --text-dim:#a89d8f;
  --accent:#ff6a00;
  --accent-soft:#ff8c1a;
  --accent-deep:#d94f00;
  --shadow:0 18px 40px rgba(0,0,0,0.32);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  scroll-behavior:smooth;
  font-family:"Microsoft JhengHei", sans-serif;
}

html{
  font-size:15px;
}

body{
  background:
    linear-gradient(135deg, rgba(255,106,0,0.05) 0 5%, rgba(0,0,0,0) 5% 100%),
    linear-gradient(315deg, rgba(255,106,0,0.03) 0 4%, rgba(0,0,0,0) 4% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.022) 0 1px, transparent 1px 84px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.014) 0 1px, transparent 1px 84px),
    linear-gradient(180deg, #06070a 0%, #0b0c10 48%, #090a0d 100%);
  color:var(--text);
  line-height:1.78;
}

a{
  text-decoration:none;
  color:inherit;
}

img{
  max-width:100%;
  display:block;
}

/* ==================== */
/* Base */
/* ==================== */
@media (max-width: 768px) {
  html {
    font-size: 13px;
    scroll-behavior: auto;
  }
}

/* ==================== */
/* Header / Navigation */
/* ==================== */
header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  background:rgba(10,10,12,0.88);
  backdrop-filter: blur(8px);
  border-bottom:none;
  box-shadow:none;
  overflow:hidden;
  z-index:999;
  transition:transform 0.28s ease, box-shadow 0.28s ease;
}

header.header-hidden{
  transform:translateY(calc(-100% - 8px));
  box-shadow:none;
}

.nav{
  width:96%;
  max-width:1560px;
  margin:auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:6px;
  padding:14px 0 12px;
  text-align:center;
}

.logo{
  display:block;
  width:100%;
  text-align:center;
  position:relative;
  padding-bottom:0;
}

.logo::after{
  display:none;
}

.logo img{
  display:none !important;
  width:124px;
  height:auto;
  object-fit:contain;
  flex-shrink:0;
}

.logo-text{
  display:inline-block;
  color:var(--accent-soft);
  font-size:2.7rem;
  font-weight:800;
  letter-spacing:0.06em;
  white-space:normal;
  text-align:center;
  line-height:1.08;
  text-shadow:0 0 18px rgba(255,106,0,0.14);
}

.menu-toggle{
  display:none;
  position:relative;
  align-items:center;
  justify-content:center;
  width:100vw;
  max-width:100vw;
  height:46px;
  margin:0 calc(50% - 50vw);
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
  color:var(--accent-soft);
  cursor:pointer;
  transition:transform 0.25s ease, opacity 0.25s ease;
}

.menu-toggle::before,
.menu-toggle::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

.menu-toggle::before{
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%);
  height:18px;
  background:linear-gradient(90deg, #fff8ef 0%, #fff2e4 16%, #fff2e4 84%, #fff8ef 100%);
  border-radius:0;
  box-shadow:
    0 0 0 1px rgba(255,140,26,0.18),
    0 8px 22px rgba(255,106,0,0.2);
}

.menu-toggle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:9px;
  background:#1a0d03;
  clip-path:polygon(50% 100%, 0 0, 100% 0);
  transform:translate(-50%, -50%);
  z-index:3;
  transition:transform 0.25s ease;
}

.menu-toggle:hover{
  transform:translateY(-1px);
  opacity:1;
}

.menu-toggle:focus-visible{
  outline:3px solid rgba(255,140,26,0.72);
  outline-offset:4px;
}

.menu-toggle-arrow{
  position:relative;
  display:block;
  width:calc(100% - 8px);
  height:16px;
  z-index:2;
}

.menu-toggle-arrow::before,
.menu-toggle-arrow::after{
  content:"";
  position:absolute;
  top:50%;
  height:4px;
  background:#1a0d03;
  transform:translateY(-50%);
}

.menu-toggle-arrow::before{
  left:0;
  width:calc(50% - 12px);
}

.menu-toggle-arrow::after{
  right:0;
  width:calc(50% - 12px);
}

header.menu-collapsible .menu-toggle{
  display:none !important;
}

header.menu-open .menu-toggle{
  opacity:1;
}

header.menu-open .menu-toggle::before{
  background:var(--accent-soft);
}

header.menu-open .menu-toggle::after{
  transform:translate(-50%, -50%) rotate(180deg);
}

.menu{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  width:100%;
  max-width:none;
  max-height:420px;
  overflow:hidden;
  opacity:1;
  transform:translateY(0);
  transition:max-height 0.32s ease, opacity 0.24s ease, transform 0.24s ease;
}

@media (max-width: 768px) {
  .menu {
    gap: 6px;
  }
}

header.menu-collapsible .menu{
  max-height:none;
  opacity:1;
  transform:none;
  pointer-events:auto;
}

header.menu-collapsible.menu-open .menu{
  max-height:none;
  opacity:1;
  transform:none;
  pointer-events:auto;
}

.menu a{
  display:inline-flex;
  flex:1 1 calc(var(--menu-item-width, 12.5%) - 7px);
  max-width:calc(var(--menu-item-width, 12.5%) - 7px);
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 8px;
  border:1px solid rgba(255,140,26,0.5);
  border-radius:0;
  background:var(--accent);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12);
  font-size:0.86rem;
  font-weight:700;
  color:#1a0d03;
  line-height:1.2;
  clip-path:polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition:color 0.25s ease, border-color 0.25s ease, background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

@media (min-width: 769px) {
  .menu{
    width:100%;
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    justify-content:center;
    flex-wrap:nowrap;
  }

  .menu a{
    flex:1 1 0;
    max-width:none;
    min-width:0;
  }
}

@media (max-width: 1100px) {
  .menu a{
    flex-basis:calc(25% - 8px);
    max-width:calc(25% - 8px);
    padding:10px 12px;
    font-size:0.9rem;
  }
}

@media (max-width: 768px) {
  .menu a {
    flex-basis:calc(50% - 6px);
    max-width:calc(50% - 6px);
    min-height:52px;
    padding:10px 12px;
    font-size:0.9rem;
    line-height:1.15;
    writing-mode:horizontal-tb;
    text-orientation:mixed;
    white-space:nowrap;
    word-break:keep-all;
    overflow-wrap:normal;
  }
}

.menu a:hover{
  color:#120901;
  border-color:rgba(255,214,179,0.65);
  background:var(--accent-soft);
  transform:translateY(-1px);
  filter:saturate(1.03);
}

.menu a::after{
  display:none;
}

.menu a:hover::after{
  width:0;
}

/* ==================== */
/* Hero */
/* ==================== */
.hero{
  position:relative;
  overflow:hidden;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:216px 20px 88px;
  background:
    linear-gradient(180deg, rgba(7,8,11,0.72) 0%, rgba(7,8,11,0.82) 100%),
    linear-gradient(180deg, #0d0e12 0%, #101116 58%, #090a0d 100%);
}

.hero::before,
.hero::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}

.hero::before{
  inset:0;
  border-radius:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(7,8,11,0.32) 0%, rgba(7,8,11,0.18) 32%, rgba(7,8,11,0.52) 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.016) 0 1px, transparent 1px 96px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.012) 0 1px, transparent 1px 96px);
}

.hero::after{
  inset:auto 0 0 0;
  width:100%;
  height:220px;
  border-radius:0;
  background:linear-gradient(180deg, rgba(13, 13, 16, 0) 0%, rgba(13, 13, 16, 0.92) 100%);
}

.hero-content{
  width:min(94%, 1280px);
  max-width:1280px;
  margin:0 auto;
  padding:0;
  position:relative;
  z-index:1;
}

.hero-scene{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  background:
    linear-gradient(180deg, rgba(7,8,11,0.1) 0%, rgba(7,8,11,0.36) 100%),
    url("https://i.ibb.co/Xrkg57bt/1234.png") center center / cover no-repeat;
  border:1px solid rgba(255,106,0,0.16);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.03),
    inset 0 -80px 90px rgba(7,8,11,0.44),
    0 26px 60px rgba(0,0,0,0.28);
  clip-path:polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
  opacity:0.5;
  transform:none;
  pointer-events:none;
}

.hero-scene::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 20%),
    linear-gradient(180deg, rgba(255,140,26,0.05) 0%, rgba(255,140,26,0.01) 42%, rgba(7,8,11,0.35) 100%);
  pointer-events:none;
}

.hero-content::before,
.hero-content::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

.hero-content::before{
  inset:-26px 28px -26px 28px;
  border:1px solid rgba(255,255,255,0.05);
  clip-path:polygon(28px 0, 100% 0, 100% calc(100% - 28px), calc(100% - 28px) 100%, 0 100%, 0 28px);
  opacity:0.9;
}

.hero-content::after{
  inset:-48px 0 -44px 0;
  background:
    linear-gradient(90deg, rgba(255,106,0,0) 0 140px, transparent 140px calc(100% - 140px), rgba(255,106,0,0) calc(100% - 140px) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.03) 0 1px, transparent 1px calc(100% - 1px), rgba(255,255,255,0.03) calc(100% - 1px) 100%);
  clip-path:polygon(34px 0, 100% 0, 100% calc(100% - 34px), calc(100% - 34px) 100%, 0 100%, 0 34px);
  opacity:0.28;
}

.hero-rail{
  position:absolute;
  pointer-events:none;
  opacity:0.9;
}

.hero-rail.top{
  top:-38px;
  left:42px;
  right:42px;
  height:18px;
  border-top:2px solid rgba(255,106,0,0.72);
}

.hero-rail.top::before,
.hero-rail.top::after,
.hero-rail.bottom::before,
.hero-rail.bottom::after{
  content:"";
  position:absolute;
  width:42px;
  height:2px;
  background:rgba(255,140,26,0.86);
}

.hero-rail.top::before{
  top:-2px;
  left:0;
}

.hero-rail.top::after{
  top:-2px;
  right:0;
}

.hero-rail.bottom{
  bottom:-34px;
  left:72px;
  right:72px;
  height:16px;
  border-bottom:2px solid rgba(255,106,0,0.5);
}

.hero-rail.bottom::before{
  bottom:-2px;
  left:0;
}

.hero-rail.bottom::after{
  bottom:-2px;
  right:0;
}

.hero-node{
  position:absolute;
  width:10px;
  height:10px;
  background:var(--accent);
  pointer-events:none;
}

.hero-node.left{
  top:16%;
  left:18px;
}

.hero-node.right{
  bottom:18%;
  right:18px;
}

.hero-stripe{
  position:absolute;
  height:2px;
  background:rgba(255,106,0,0.72);
  pointer-events:none;
}

.hero-stripe.left{
  top:26%;
  left:-18px;
  width:64px;
}

.hero-stripe.right{
  bottom:24%;
  right:-18px;
  width:72px;
}

.hero-panel{
  padding:52px 72px 58px;
  animation:fadeUp 1.2s ease;
  text-align:center;
  position:relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.015)),
    linear-gradient(90deg, rgba(255,106,0,0.03) 0 1px, transparent 1px 100%);
  border:1px solid rgba(255,106,0,0.22);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.03),
    0 24px 60px rgba(0,0,0,0.34);
  clip-path:polygon(22px 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%, 0 22px);
  overflow:hidden;
}

@media (min-width: 769px) {
  .hero-panel{
    animation:none;
  }
}

.hero-cross{
  position:absolute;
  top:50%;
  left:50%;
  width:640px;
  height:640px;
  transform:translate(-50%, -50%);
  pointer-events:none;
  opacity:0.12;
  z-index:0;
  filter:drop-shadow(0 0 18px rgba(255,106,0,0.06));
}

.hero-cross::before,
.hero-cross::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  border-radius:999px;
}

.hero-cross::before{
  width:54px;
  height:520px;
  background:linear-gradient(180deg, rgba(255,140,26,0) 0%, rgba(255,140,26,0.18) 18%, rgba(255,211,168,0.28) 50%, rgba(255,140,26,0.18) 82%, rgba(255,140,26,0) 100%);
}

.hero-cross::after{
  width:320px;
  height:38px;
  top:38%;
  background:linear-gradient(90deg, rgba(255,140,26,0) 0%, rgba(255,140,26,0.18) 20%, rgba(255,211,168,0.28) 50%, rgba(255,140,26,0.18) 80%, rgba(255,140,26,0) 100%);
}

.hero-panel > *:not(.hero-cross){
  position:relative;
  z-index:1;
}

.hero-panel-mark{
  position:absolute;
  font-size:0.8rem;
  letter-spacing:0.22em;
  color:rgba(255,140,26,0.62);
  font-weight:700;
}

.hero-panel-mark.top-left{
  top:18px;
  left:24px;
}

.hero-panel-mark.bottom-right{
  right:24px;
  bottom:18px;
}

.hero-panel-corner{
  position:absolute;
  width:40px;
  height:40px;
  pointer-events:none;
}

.hero-panel-corner.top-right{
  top:0;
  right:0;
  border-top:2px solid rgba(255,140,26,0.8);
  border-right:2px solid rgba(255,140,26,0.8);
}

.hero-panel-corner.bottom-left{
  left:0;
  bottom:0;
  border-left:2px solid rgba(255,140,26,0.8);
  border-bottom:2px solid rgba(255,140,26,0.8);
}

.hero-panel-divider{
  width:100%;
  height:1px;
  margin:0 auto 28px;
  background:
    linear-gradient(90deg, rgba(255,106,0,0), rgba(255,106,0,0.28), rgba(255,106,0,0));
}

.hero h1{
  font-size:4.8rem;
  margin-bottom:26px;
  letter-spacing:0.08em;
  line-height:1.05;
  color:var(--accent-soft);
  font-weight:800;
  text-shadow:0 0 18px rgba(255,106,0,0.14);
}

@media (max-width: 768px) {
  .hero h1 {
    font-size: 2.5rem;
  }
}

.hero-subtitle{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  margin:0 auto 32px;
  color:var(--accent);
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:0.12em;
}

.hero-subtitle::before,
.hero-subtitle::after{
  content:"";
  width:160px;
  max-width:22vw;
  height:1px;
  background:linear-gradient(90deg, rgba(255,106,0,0.14), rgba(255,140,26,0.52), rgba(255,106,0,0.14));
}

.hero p{
  font-size:1.45rem;
  max-width:820px;
  margin:0 auto 42px;
  color:var(--text-soft);
  line-height:1.9;
}

.hero-btns{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  width:min(100%, 760px);
  margin:0 auto;
}

.hero-btns .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:1 1 320px;
  min-width:320px;
  text-align:center;
}

.btn{
  display:inline-block;
  padding:16px 34px;
  border-radius:0;
  font-weight:700;
  font:inherit;
  letter-spacing:0.08em;
  cursor:pointer;
  transition:0.3s;
  clip-path:polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}

.btn-primary{
  background:linear-gradient(180deg, rgba(255,106,0,0.08), rgba(255,106,0,0.02));
  color:var(--accent-soft);
  border:2px solid var(--accent);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04);
}

.btn-primary:hover{
  background:var(--accent);
  color:#0d0d10;
  transform:translateY(-2px);
}

.btn-outline{
  border:2px solid #fff;
  color:#fff;
}

.btn-outline:hover{
  background:#fff;
  color:#333;
}

/* ==================== */
/* Sections */
/* ==================== */
section{
  padding:90px 20px;
  position:relative;
}

section::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(1200px, 90%);
  height:1px;
  background:linear-gradient(90deg, rgba(255,106,0,0), rgba(255,106,0,0.45), rgba(255,106,0,0));
  opacity:0.85;
}

.container{
  width:90%;
  max-width:1200px;
  margin:auto;
}

.section-title{
  text-align:center;
  margin-bottom:18px;
  font-size:2.1rem;
  color:var(--accent-soft);
  text-shadow:0 0 18px rgba(255,106,0,0.12);
}

.section-subtitle{
  text-align:center;
  max-width:850px;
  margin:0 auto 50px;
  color:var(--text-dim);
  font-size:1.08rem;
}

/* ==================== */
/* About */
/* ==================== */
.about-grid{
  display:block;
}

.about-text{
  font-size:1rem;
  color:var(--text-soft);
  max-width:900px;
  margin:0 auto;
}

.about-text p{
  margin-bottom:16px;
}

/* ==================== */
/* Mission */
/* ==================== */
.mission{
  background:rgba(255,255,255,0.01);
}

.mission-list{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  margin-top:24px;
}

@media (max-width: 1024px) {
  .mission-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .mission-list {
    grid-template-columns: 1fr;
  }
}

.mission-item{
  background:var(--bg-panel);
  padding:28px 22px;
  border-radius:18px;
  border:1px solid var(--line-accent);
  box-shadow:var(--shadow);
  transition:0.3s;
  position:relative;
}

.mission-item::before,
.ministry-card::before,
.info-box::before,
.offering-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:44px;
  height:44px;
  background:transparent;
  border-top:2px solid rgba(255,106,0,0.75);
  border-left:2px solid rgba(255,106,0,0.75);
  pointer-events:none;
}

.mission-item::after,
.ministry-card::after,
.info-box::after,
.offering-card::after{
  content:"";
  position:absolute;
  right:14px;
  top:14px;
  width:24px;
  height:24px;
  border-top:1px solid rgba(255,140,26,0.55);
  border-right:1px solid rgba(255,140,26,0.55);
  opacity:0.85;
  pointer-events:none;
}

.mission-item:hover{
  transform:translateY(-6px);
}

.mission-item h3{
  color:var(--accent-soft);
  margin-bottom:12px;
  font-size:1.1rem;
}

.mission-item p{
  color:var(--text-dim);
  font-size:0.95rem;
}

/* ==================== */
/* Ministries */
/* ==================== */
.ministry-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}

@media (max-width: 1200px) {
  .ministry-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .ministry-grid {
    grid-template-columns: 1fr;
  }
}

.ministry-card{
  background:var(--bg-panel);
  border-radius:18px;
  padding:26px 20px;
  border:1px solid var(--line-accent);
  box-shadow:var(--shadow);
  text-align:center;
  transition:0.3s;
  position:relative;
}

.ministry-card.ministry-card-featured{
  --ministry-base-image:linear-gradient(135deg, rgba(36,38,46,0.96), rgba(10,11,15,0.98));
  --ministry-photo-image:none;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:12px;
  min-height:260px;
  overflow:hidden;
  background:
    linear-gradient(0deg, rgba(0,0,0,0.74), rgba(0,0,0,0.74)),
    linear-gradient(90deg, rgba(255,140,26,0.46) 0 4px, transparent 4px calc(100% - 4px), rgba(255,140,26,0.46) calc(100% - 4px) 100%),
    linear-gradient(0deg, rgba(255,140,26,0.42) 0 4px, transparent 4px calc(100% - 4px), rgba(255,140,26,0.58) calc(100% - 4px) 100%),
    var(--ministry-photo-image) center center / cover no-repeat,
    var(--ministry-base-image) center center / cover no-repeat;
  border:3px solid rgba(255,140,26,0.92);
  clip-path:polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px));
  box-shadow:
    inset 0 0 0 5px rgba(8,9,11,0.86),
    inset 0 0 0 8px rgba(255,140,26,0.32),
    inset 0 0 0 12px rgba(0,0,0,0.72),
    inset 0 0 18px rgba(255,140,26,0.14),
    0 22px 42px rgba(0,0,0,0.34);
}

.ministry-card.ministry-card-featured::before{
  top:10px;
  left:10px;
  width:80px;
  height:80px;
  border-top:4px solid rgba(255,140,26,0.98);
  border-left:4px solid rgba(255,140,26,0.98);
  background:none;
  box-shadow:none;
}

.ministry-card.ministry-card-featured::after{
  top:10px;
  right:10px;
  width:54px;
  height:54px;
  border-top:3px solid rgba(255,140,26,0.94);
  border-right:3px solid rgba(255,140,26,0.94);
  box-shadow:none;
}

.ministry-card:hover{
  transform:translateY(-8px);
}

.ministry-icon{
  font-size:2rem;
  margin-bottom:14px;
}

.ministry-card h3{
  color:var(--accent-soft);
  margin-bottom:10px;
  font-size:1.05rem;
}

.ministry-card p{
  color:var(--text-dim);
  font-size:0.94rem;
}

.ministry-card.ministry-card-featured h3{
  color:var(--accent-soft);
  margin-bottom:0;
  font-size:1.46rem;
  letter-spacing:0.08em;
  text-shadow:0 4px 18px rgba(0,0,0,0.42);
}

.ministry-card.ministry-card-featured p{
  color:#f6eee5;
  max-width:240px;
  text-shadow:0 4px 18px rgba(0,0,0,0.35);
}

.ministry-card[data-open-modal]{
  cursor:pointer;
}

.ministry-card[data-open-modal]:focus-visible{
  outline:3px solid rgba(255,140,26,0.88);
  outline-offset:4px;
}

.ministry-card-hint{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  margin-top:0;
  padding:8px 16px;
  border:1px solid rgba(255,140,26,0.3);
  border-radius:999px;
  background:rgba(7,8,11,0.56);
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.08em;
  color:#fff4e8;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.02);
}

.group-schedule-section{
  background:rgba(255,255,255,0.01);
}

.group-schedule-block{
  margin-top:40px;
}

.group-schedule-heading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:0;
  padding:18px 20px;
  color:var(--accent-soft);
  font-size:1.42rem;
  font-weight:800;
  cursor:pointer;
  list-style:none;
  user-select:none;
  border:1px solid rgba(255,140,26,0.22);
  background:linear-gradient(180deg, rgba(255,140,26,0.1), rgba(255,140,26,0.04));
}

.group-schedule-heading::-webkit-details-marker{
  display:none;
}

.group-schedule-heading::after{
  content:"";
  width:12px;
  height:12px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform 0.24s ease;
}

.group-schedule-disclosure[open] .group-schedule-heading::after{
  transform:rotate(225deg) translateY(-1px);
}

.group-schedule-board{
  margin-top:18px;
}

.group-schedule-disclosure:not([open]) .group-schedule-board{
  display:none;
}

.group-schedule-board{
  position:relative;
  padding:28px 24px;
  border:1px solid var(--line-accent);
  background:
    linear-gradient(135deg, rgba(255,140,26,0.12), rgba(255,140,26,0.03) 24%, rgba(11,12,16,0.94) 24%, rgba(11,12,16,0.98) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0));
  box-shadow:var(--shadow);
  overflow:hidden;
}

.group-schedule-board::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(255,140,26,0.22);
  pointer-events:none;
}

.group-schedule-list{
  position:relative;
  display:grid;
  gap:14px;
}

.group-schedule-row{
  display:grid;
  grid-template-columns:minmax(170px, 220px) 1fr;
  gap:18px;
  align-items:start;
  padding:18px 20px;
  border:1px solid rgba(255,140,26,0.18);
  background:linear-gradient(90deg, rgba(255,140,26,0.08), rgba(255,140,26,0.02) 24%, rgba(255,255,255,0.02));
}

.group-schedule-name{
  color:var(--accent-soft);
  font-size:1.28rem;
  font-weight:800;
  line-height:1.2;
}

.group-schedule-meta{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px 18px;
}

.group-schedule-item{
  display:grid;
  gap:4px;
  color:var(--text-soft);
}

.group-schedule-label{
  color:var(--text-dim);
  font-size:0.74rem;
  font-weight:700;
  letter-spacing:0.16em;
}

@media (max-width: 1100px) {
  .group-schedule-meta{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .group-schedule-meta{
    grid-template-columns:1fr;
  }
}

.modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(4,5,8,0.72);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 0.24s ease, visibility 0.24s ease;
  z-index:1200;
}

.modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.modal-card{
  width:min(100%, 560px);
  position:relative;
  padding:30px 28px 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.015) 100%),
    linear-gradient(180deg, #121319 0%, #0b0c10 100%);
  border:1px solid rgba(255,140,26,0.36);
  box-shadow:0 28px 60px rgba(0,0,0,0.42);
  clip-path:polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
  overflow:hidden;
}

.modal-card.modal-card-wide{
  width:min(100%, 1040px);
  max-height:min(86vh, 960px);
  overflow:auto;
  scrollbar-width:thin;
}

.modal-card::before,
.modal-card::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

.modal-card::before{
  top:0;
  left:0;
  width:72px;
  height:72px;
  border-top:2px solid rgba(255,140,26,0.76);
  border-left:2px solid rgba(255,140,26,0.76);
}

.modal-card::after{
  right:0;
  bottom:0;
  width:88px;
  height:88px;
  border-right:2px solid rgba(255,140,26,0.5);
  border-bottom:2px solid rgba(255,140,26,0.5);
}

.modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:40px;
  height:40px;
  border:1px solid rgba(255,140,26,0.4);
  background:rgba(255,255,255,0.04);
  color:var(--text-soft);
  font-size:1.2rem;
  cursor:pointer;
}

.modal-close:hover{
  background:rgba(255,140,26,0.14);
  color:#fff;
}

.modal-eyebrow{
  display:inline-block;
  margin-bottom:14px;
  color:rgba(255,205,164,0.9);
  font-size:0.78rem;
  letter-spacing:0.2em;
}

.modal-title{
  color:var(--accent-soft);
  font-size:2rem;
  margin-bottom:14px;
}

.modal-time{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  padding:10px 14px;
  border:1px solid rgba(255,140,26,0.3);
  background:rgba(255,140,26,0.08);
  color:#fff2e4;
  font-weight:700;
  letter-spacing:0.04em;
}

.modal-time.is-hidden{
  display:none;
}

.modal-body{
  color:var(--text-soft);
  line-height:1.85;
}

.modal-body.modal-body-rich{
  display:grid;
  gap:24px;
}

.modal-intro{
  padding:18px 20px;
  border-left:3px solid rgba(255,140,26,0.78);
  background:rgba(255,255,255,0.03);
  color:var(--text-soft);
}

.modal-body p{
  margin-bottom:14px;
}

.modal-quote{
  margin:0;
}

.modal-card-wide .mission-list{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
  margin-top:0;
}

.modal-card-wide .beliefs-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
}

.modal-verse{
  margin-top:20px;
  padding:16px 18px;
  border-left:3px solid rgba(255,140,26,0.82);
  background:rgba(255,255,255,0.03);
  color:#f2e6d8;
}

body.modal-open{
  overflow:hidden;
}

/* ==================== */
/* Pastors */
/* ==================== */
.pastors{
  background:rgba(255,255,255,0.01);
}

.pastor-grid{
  display:grid;
  grid-template-columns:repeat(var(--pastor-grid-cols, 4), 1fr);
  gap:24px;
}

.pastor-grid.pastor-grid-admin{
  width:calc(75% - 6px);
  margin:0 auto;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

@media (max-width: 1024px) {
  .pastor-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pastor-grid.pastor-grid-admin{
    width:100%;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .pastor-grid.pastor-grid-admin .pastor-card:last-child{
    grid-column:1 / -1;
    width:calc((100% - 24px) / 2);
    max-width:calc((100% - 24px) / 2);
    justify-self:center;
  }
}

@media (max-width: 640px) {
  .pastor-grid {
    grid-template-columns: 1fr;
  }

  .pastor-grid.pastor-grid-admin{
    width:100%;
    grid-template-columns:1fr;
  }

  .pastor-grid.pastor-grid-admin .pastor-card:last-child{
    grid-column:auto;
    width:auto;
    max-width:none;
    justify-self:stretch;
  }
}

@media (max-width: 560px) {
  .pastor-grid.pastor-grid-admin{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }

  .pastor-grid.pastor-grid-admin .pastor-card:last-child{
    grid-column:1 / -1;
    width:calc((100% - 10px) / 2);
    max-width:calc((100% - 10px) / 2);
    justify-self:center;
  }
}

.pastor-card{
  background:var(--bg-panel);
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--line-accent);
  box-shadow:var(--shadow);
  transition:0.3s;
  position:relative;
}

.pastor-card:hover{
  transform:translateY(-8px);
}

.pastor-photo{
  height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #2a211a, #1b1a19);
  color:var(--accent-soft);
  font-size:1rem;
  font-weight:bold;
  letter-spacing:1px;
  overflow:hidden;
}

.pastor-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.pastor-photo.pastor-photo-huang img{
  object-position:center 38%;
}

.pastor-content{
  padding:24px 20px 22px;
  text-align:center;
}

.pastor-content h3{
  color:var(--accent-soft);
  margin-bottom:6px;
  font-size:1.1rem;
}

.pastor-role{
  color:var(--accent);
  font-weight:bold;
  margin-bottom:14px;
}

.pastor-content p{
  color:var(--text-dim);
  margin-bottom:8px;
  font-size:0.95rem;
}

.page-pastors .pastor-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)),
    linear-gradient(180deg, #17181e 0%, #101116 100%);
  border:2px solid rgba(255,140,26,0.42);
  border-radius:8px;
  clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  box-shadow:0 18px 40px rgba(0,0,0,0.32), inset 0 0 0 2px rgba(255,255,255,0.02);
}

.page-pastors .pastor-card::before{
  content:"";
  position:absolute;
  inset:8px;
  border:2px solid rgba(255,140,26,0.16);
  clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
  pointer-events:none;
}

.page-pastors .pastor-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,140,26,0.82) 0 26px, transparent 26px) top 8px left 8px / 76px 3px no-repeat,
    linear-gradient(180deg, rgba(255,140,26,0.82) 0 26px, transparent 26px) top 8px left 8px / 3px 76px no-repeat,
    linear-gradient(90deg, transparent calc(100% - 76px), rgba(255,140,26,0.82) calc(100% - 76px)) bottom 8px right 8px / 76px 3px no-repeat,
    linear-gradient(180deg, transparent calc(100% - 76px), rgba(255,140,26,0.82) calc(100% - 76px)) bottom 8px right 8px / 3px 76px no-repeat;
  pointer-events:none;
}

.page-pastors .pastor-photo{
  position:relative;
  margin:8px 8px 0;
  border:2px solid rgba(255,140,26,0.42);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,0.03);
  clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px));
}

.page-pastors .pastor-photo::before{
  content:"";
  position:absolute;
  inset:8px;
  border:2px solid rgba(255,140,26,0.22);
  clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
  pointer-events:none;
}

.page-pastors .pastor-photo::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:88px;
  background:linear-gradient(180deg, rgba(8,9,11,0) 0%, rgba(8,9,11,0.2) 30%, rgba(8,9,11,0.86) 100%);
  pointer-events:none;
}

.page-pastors .pastor-content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin-top:-26px;
  padding:0 18px 22px;
}

.page-pastors .pastor-content h3{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  width:min(100%, 240px);
  margin:0;
  padding:12px 18px;
  background:linear-gradient(180deg, #ff962f 0%, #ff7c12 100%);
  color:#160900;
  font-size:1.04rem;
  font-weight:800;
  line-height:1.2;
  letter-spacing:0.04em;
  text-align:center;
  box-shadow:0 14px 24px rgba(0,0,0,0.24), inset 0 0 0 1px rgba(255,255,255,0.16);
  clip-path:polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
}

.page-pastors .pastor-role{
  margin:0;
  padding:0;
  background:none;
  border:none;
  box-shadow:none;
  clip-path:none;
  color:rgba(255,223,190,0.88);
  font-weight:700;
  line-height:1.15;
  letter-spacing:0.08em;
  text-align:center;
}

.team-extended{
  margin-top:56px;
  display:grid;
  gap:56px;
}

.team-section-block{
  display:grid;
  gap:24px;
}

.pastor-photo.pastor-photo-placeholder{
  position:relative;
  background:
    linear-gradient(135deg, rgba(255,140,26,0.22), rgba(14,14,18,0.12)),
    linear-gradient(135deg, #2a211a, #1b1a19);
}

.pastor-photo.pastor-photo-placeholder::before{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(255,140,26,0.34);
  clip-path:polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
}

.pastor-photo.pastor-photo-placeholder span{
  position:relative;
  z-index:1;
  color:rgba(255,230,208,0.88);
  font-size:0.98rem;
  letter-spacing:0.18em;
}

@media (max-width: 768px) {
  .team-extended{
    margin-top:44px;
  }
}

/* ==================== */
/* Live / Course */
/* ==================== */
.live{
  background:rgba(255,255,255,0.01);
}

.live-wrap{
  background:var(--bg-panel);
  border-radius:28px;
  padding:30px;
  border:1px solid var(--line-accent);
  box-shadow:var(--shadow);
  position:relative;
}

.live-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:26px;
}

.live-player{
  position:relative;
  display:block;
  width:100%;
  border-radius:20px;
  overflow:hidden;
  background:#1f1f1f;
  box-shadow:0 12px 28px rgba(0,0,0,0.14);
}

.live-player img{
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  display:block;
  transition:transform 0.35s ease;
}

.live-player:hover img{
  transform:scale(1.02);
}

.live-player::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(28,24,20,0.08) 0%, rgba(28,24,20,0.38) 100%);
}

.live-player::after{
  content:"▶";
  position:absolute;
  top:50%;
  left:50%;
  width:82px;
  height:82px;
  margin:-41px 0 0 -41px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.92);
  color:var(--accent);
  font-size:2rem;
  box-shadow:0 10px 28px rgba(0,0,0,0.18);
}

.live-actions{
  display:flex;
  justify-content:center;
  margin-top:24px;
}

.live-note{
  margin-top:16px;
  text-align:center;
  color:var(--text-dim);
  font-size:0.95rem;
}

/* ==================== */
/* Events */
/* ==================== */
.events{
  background:rgba(255,255,255,0.01);
}

.events-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:26px;
}

.event-card{
  background:var(--bg-panel);
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--line-accent);
  box-shadow:var(--shadow);
  transition:transform 0.3s ease, box-shadow 0.3s ease;
  position:relative;
}

.event-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 38px rgba(0,0,0,0.08);
}

.event-card img{
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  display:block;
  background:#1c1c22;
}

.event-content{
  padding:20px 22px 24px;
}

.event-content h3{
  color:var(--accent-soft);
  font-size:1.1rem;
  margin-bottom:8px;
}

.event-content p{
  color:var(--text-dim);
  font-size:0.96rem;
}

/* ==================== */
/* Gathering Info */
/* ==================== */
.info{
  background:rgba(255,255,255,0.01);
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 1024px) {
  .info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .info-grid {
    grid-template-columns: 1fr;
  }
}

.info-box{
  background:var(--bg-panel);
  border-left:6px solid var(--accent);
  border-radius:16px;
  padding:28px 22px;
  box-shadow:var(--shadow);
  position:relative;
}

.info-box h3{
  margin-bottom:12px;
  color:var(--accent-soft);
}

.info-box p{
  color:var(--text-dim);
}

/* ==================== */
/* Offering */
/* ==================== */
.offering-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
}

.offering-card{
  background:var(--bg-panel);
  border-radius:20px;
  padding:32px 26px;
  border:1px solid rgba(255,255,255,0.06);
  box-shadow:var(--shadow);
  position:relative;
}

.offering-card h3{
  color:var(--accent-soft);
  margin-bottom:14px;
  font-size:1.25rem;
}

.offering-card p{
  color:var(--text-dim);
  margin-bottom:10px;
}

.bank-box{
  margin-top:18px;
  background:#221a15;
  border-radius:14px;
  padding:18px;
  color:#efceb0;
}

/* ==================== */
/* Beliefs */
/* ==================== */
.beliefs{
  background:rgba(255,255,255,0.01);
}

.beliefs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 1024px) {
  .beliefs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .beliefs-grid {
    grid-template-columns: 1fr;
  }
}

.belief-card{
  position:relative;
  min-height:320px;
  padding:28px 24px;
  border-radius:20px;
  overflow:hidden;
  background:var(--bg-panel);
  border:1px solid var(--line-accent);
  box-shadow:var(--shadow);
  isolation:isolate;
}

.belief-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:none;
  opacity:0;
  transform:none;
  z-index:-2;
}

.belief-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(8,9,11,0.18) 0%, rgba(8,9,11,0.72) 52%, rgba(8,9,11,0.9) 100%),
    linear-gradient(135deg, rgba(255,106,0,0.1) 0%, rgba(255,106,0,0.02) 35%, rgba(0,0,0,0) 100%);
  z-index:-1;
}

.belief-card h3{
  color:var(--accent-soft);
  font-size:1.15rem;
  margin-bottom:14px;
}

.belief-card p{
  color:var(--text-soft);
  font-size:0.95rem;
  margin-bottom:10px;
  line-height:1.85;
}

.belief-card.belief-we-believe{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  min-height:320px;
  padding:30px 24px 28px;
  background:
    linear-gradient(180deg, rgba(255,214,173,0.06) 0%, rgba(255,214,173,0.015) 100%),
    linear-gradient(135deg, #cf5a00 0%, #a93f00 100%);
  border-color:rgba(255,173,92,0.82);
  box-shadow:
    inset 0 0 0 1px rgba(255,230,201,0.18),
    0 18px 40px rgba(0,0,0,0.3);
  clip-path:polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
}

.belief-card.belief-we-believe::before{
  opacity:0;
  background:none;
  transform:none;
}

.belief-card.belief-we-believe::after{
  background:none;
}

.belief-card.belief-we-believe .belief-lockup{
  position:relative;
  padding-top:0;
}

.belief-lockup{
  color:#fff4e6;
  line-height:0.95;
  max-width:100%;
  width:100%;
}

.belief-lockup-en-small{
  display:block;
  font-size:clamp(1.8rem, 2vw, 2.4rem);
  font-weight:300;
  letter-spacing:0.01em;
  margin-bottom:0.18em;
  color:rgba(255,244,230,0.84);
}

.belief-lockup-en{
  display:block;
  font-size:clamp(2.35rem, 3.15vw, 3.35rem);
  font-weight:700;
  letter-spacing:-0.03em;
  margin-bottom:0.18em;
  line-height:0.9;
  white-space:nowrap;
}

.belief-lockup-zh{
  display:block;
  font-size:clamp(1.4rem, 1.55vw, 1.7rem);
  font-weight:800;
  letter-spacing:0.04em;
}

/* ==================== */
/* Contact */
/* ==================== */
.contact{
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,0.018) 0 1px, transparent 1px 88px),
    linear-gradient(180deg, #101116 0%, #09090b 100%);
  color:var(--text);
  padding-top:120px;
  padding-bottom:110px;
}

.contact::before{
  width:min(1320px, 94%);
  height:2px;
  background:linear-gradient(90deg, rgba(255,106,0,0), rgba(255,106,0,0.75), rgba(255,106,0,0));
}

.contact .container{
  position:relative;
  padding:42px 36px;
  background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  border:1px solid rgba(255,106,0,0.24);
  box-shadow:0 28px 60px rgba(0,0,0,0.34);
  clip-path:polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
  overflow:hidden;
}

.contact .container::before,
.contact .container::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

.contact .container::before{
  top:0;
  left:0;
  width:78px;
  height:78px;
  border-top:2px solid rgba(255,140,26,0.7);
  border-left:2px solid rgba(255,140,26,0.7);
}

.contact .container::after{
  right:0;
  bottom:0;
  width:92px;
  height:92px;
  border-right:2px solid rgba(255,140,26,0.55);
  border-bottom:2px solid rgba(255,140,26,0.55);
}

.contact .section-title,
.contact .section-subtitle{
  color:white;
}

.contact .section-title{
  font-size:2.5rem;
  margin-bottom:20px;
}

.contact .section-subtitle{
  max-width:900px;
  color:#d7c9bc;
  margin-bottom:56px;
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}

@media (max-width: 768px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }
}

.contact-box{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(216,132,47,0.14);
  border-radius:18px;
  padding:28px;
  box-shadow:0 18px 34px rgba(0,0,0,0.22);
}

.contact-box h3{
  margin-bottom:12px;
  color:var(--accent-soft);
}

.contact-box p{
  color:#e8ddd2;
  margin-bottom:10px;
}

/* ==================== */
/* Footer */
/* ==================== */
footer{
  display:none;
  background:#09090b;
  color:#b9ac9e;
  text-align:center;
  padding:22px 15px;
  font-size:0.92rem;
}

/* ==================== */
/* Motion */
/* ==================== */
@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(35px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* ==================== */
/* Responsive */
/* ==================== */
@media (max-width: 992px){
  .about-grid,
  .offering-wrap,
  .contact-grid,
  .events-grid,
  .live-grid{
    grid-template-columns:1fr 1fr;
  }

  .hero h1{
    font-size:3.9rem;
  }
}

@media (max-width: 768px){
  .nav{
    gap:8px;
    padding:12px 0 14px;
  }

  .logo{
    display:block;
    padding-bottom:6px;
  }

  .logo::after{
    width:132px;
    margin:6px auto 0;
  }

  .menu{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:10px 8px;
    width:100%;
    padding:2px 0 0;
  }

  .menu a{
    width:100%;
    max-width:none;
    min-height:54px;
    padding:10px 12px;
    white-space:nowrap;
    word-break:keep-all;
    overflow-wrap:normal;
    writing-mode:horizontal-tb;
  }

  .logo-text{
    font-size:1.4rem;
    letter-spacing:0.08em;
  }

  .hero h1{
    font-size:2.8rem;
  }

  .hero p{
    font-size:1rem;
  }

  .hero{
    min-height:auto;
    padding:164px 16px 56px;
    background:
      linear-gradient(180deg, rgba(7,8,11,0.74) 0%, rgba(7,8,11,0.84) 100%),
      linear-gradient(180deg, #0d0e12 0%, #101116 58%, #090a0d 100%);
  }

  .hero-content{
    width:100%;
  }

  .hero-scene{
    display:none;
  }

  .hero-content::before{
    inset:-18px 10px -18px 10px;
  }

  .hero-content::after{
    inset:-28px 0 -26px 0;
    background:
      linear-gradient(90deg, rgba(255,106,0,0) 0 64px, transparent 64px calc(100% - 64px), rgba(255,106,0,0) calc(100% - 64px) 100%),
      linear-gradient(180deg, rgba(255,255,255,0.03) 0 1px, transparent 1px calc(100% - 1px), rgba(255,255,255,0.03) calc(100% - 1px) 100%);
  }

  .hero-rail.top{
    top:-26px;
    left:16px;
    right:16px;
  }

  .hero-rail.bottom{
    bottom:-22px;
    left:28px;
    right:28px;
  }

  .hero-panel{
    padding:34px 20px 36px;
  }

  .hero-cross{
    width:320px;
    height:320px;
    opacity:0.11;
  }

  .hero-cross::before{
    width:34px;
    height:250px;
  }

  .hero-cross::after{
    width:180px;
    height:26px;
    top:39%;
  }

  .live-wrap{
    padding:14px;
    border-radius:18px;
  }

  .hero-subtitle{
    gap:14px;
    margin-bottom:22px;
    font-size:1.05rem;
  }

  .hero-subtitle::before,
  .hero-subtitle::after{
    width:72px;
  }

  .mission-list,
  .info-grid,
  .ministry-grid,
  .beliefs-grid,
  .pastor-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
  }

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

  .events-grid,
  .live-grid,
  .offering-wrap,
  .contact-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .section-title{
    font-size:1.2rem;
  }

  .contact{
    padding-top:82px;
    padding-bottom:64px;
  }

  .contact .container{
    padding:22px 16px;
  }

  .contact .section-title{
    font-size:1.7rem;
  }

  section{
    min-height:auto;
    padding:68px 14px 34px;
    display:block;
  }

  .container,
  .nav{
    width:94%;
  }

  section .container{
    width:100%;
  }

  .belief-card,
  .ministry-card,
  .pastor-card,
  .info-box,
  .mission-item{
    min-height:unset;
  }

  .section-subtitle{
    margin-bottom:22px;
    font-size:0.92rem;
  }

  .about-text p{
    margin-bottom:12px;
    font-size:0.9rem;
  }

  .mission-item,
  .ministry-card,
  .info-box,
  .offering-card,
  .belief-card,
  .contact-box{
    padding:16px 14px;
  }

  .ministry-card.ministry-card-featured{
    min-height:220px;
    padding:18px 14px;
  }

  .group-schedule-board{
    padding:20px 16px;
  }

  .group-schedule-block{
    margin-top:28px;
  }

  .group-schedule-heading{
    font-size:1.08rem;
    padding:14px 12px;
  }

  .page-pastors .pastor-content{
    margin-top:-22px;
    padding:0 12px 16px;
    gap:8px;
  }

  .page-pastors .pastor-content h3{
    min-height:42px;
    width:100%;
    padding:10px 12px;
    font-size:0.92rem;
  }

  .page-pastors .pastor-role{
    font-size:0.76rem;
  }

  .page-pastors .pastor-card::before{
    inset:8px;
  }

  .page-pastors .pastor-card::after{
    background:
      linear-gradient(90deg, rgba(255,140,26,0.82) 0 18px, transparent 18px) top 8px left 8px / 52px 3px no-repeat,
      linear-gradient(180deg, rgba(255,140,26,0.82) 0 18px, transparent 18px) top 8px left 8px / 3px 52px no-repeat,
      linear-gradient(90deg, transparent calc(100% - 52px), rgba(255,140,26,0.82) calc(100% - 52px)) bottom 8px right 8px / 52px 3px no-repeat,
      linear-gradient(180deg, transparent calc(100% - 52px), rgba(255,140,26,0.82) calc(100% - 52px)) bottom 8px right 8px / 3px 52px no-repeat;
  }

  .page-pastors .pastor-photo{
    margin:8px 8px 0;
  }

  .page-pastors .pastor-photo::before{
    inset:8px;
  }

  .group-schedule-row{
    grid-template-columns:1fr;
    gap:12px;
    padding:16px 14px;
  }

  .group-schedule-name{
    font-size:1.08rem;
  }

  .group-schedule-meta{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px 12px;
  }

  .ministry-card.ministry-card-featured h3{
    font-size:1.26rem;
  }

  .ministry-card-hint{
    margin-top:10px;
    font-size:0.72rem;
  }

  .modal{
    padding:16px;
  }

  .modal-card{
    padding:26px 18px 20px;
  }

  .modal-title{
    font-size:1.68rem;
  }

  .modal-time{
    font-size:0.94rem;
  }

  .pastor-content{
    padding:14px 12px 14px;
  }

  .event-content{
    padding:14px 14px 16px;
  }

  .contact{
    align-items:stretch;
  }

  .mission-item h3,
  .ministry-card h3,
  .belief-card h3,
  .info-box h3,
  .event-content h3,
  .offering-card h3,
  .contact-box h3{
    font-size:0.9rem;
    margin-bottom:8px;
  }

  .mission-item p,
  .ministry-card p,
  .belief-card p,
  .info-box p,
  .event-content p,
  .offering-card p,
  .contact-box p,
  .pastor-content p{
    font-size:0.8rem;
    line-height:1.55;
    margin-bottom:6px;
  }

  .pastor-role{
    margin-bottom:10px;
    font-size:0.88rem;
  }

  .pastor-photo{
    height:164px;
  }

  .ministry-icon{
    font-size:1.55rem;
    margin-bottom:10px;
  }

  .live-note{
    margin-top:12px;
    font-size:0.88rem;
  }

  .live-actions{
    margin-top:18px;
  }

  .btn{
    padding:13px 24px;
    font-size:0.88rem;
  }

  .hero-btns{
    width:min(100%, 640px);
  }

  .hero-btns .btn{
    flex-basis:280px;
    min-width:280px;
  }

  .belief-card{
    min-height:unset;
  }

  .belief-card.belief-we-believe{
    min-height:220px;
    padding:22px 16px 18px;
  }

  .belief-lockup-en-small{
    font-size:2.1rem;
  }

  .belief-lockup-en{
    font-size:2.8rem;
  }

  .belief-lockup-zh{
    font-size:1.5rem;
  }
}

@media (max-width: 560px){
  .mission-list,
  .info-grid,
  .ministry-grid,
  .beliefs-grid,
  .pastor-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }

  .logo-text{
    font-size:0.92rem;
  }

  .hero{
    padding-top:146px;
  }

  .hero h1{
    font-size:2.3rem;
  }

  .hero p{
    font-size:1rem;
  }

  .hero-subtitle{
    font-size:1.05rem;
  }

  .hero-panel{
    padding:22px 14px 24px;
  }

  section{
    padding:52px 14px 30px;
  }

  .modal{
    padding:12px;
  }

  .modal-card{
    padding:20px 14px 14px;
  }

  .modal-close{
    width:36px;
    height:36px;
    font-size:1.1rem;
  }

  footer{
    padding:18px 12px;
    font-size:0.85rem;
  }
}

/* ==================== */
/* Multi-page Enhancements */
/* ==================== */
.menu a.is-current{
  color:#140901;
  border-color:rgba(255,244,230,0.92);
  background:#ff9b33;
  box-shadow:
    0 0 0 1px rgba(255,140,26,0.12),
    inset 0 0 0 1px rgba(255,255,255,0.24);
}

.menu a.is-current::after{
  width:0;
}

section.page-hero{
  position:relative;
  min-height:auto;
  padding:228px 20px 62px;
  overflow:hidden;
  background:
    linear-gradient(180deg, #101116 0%, #0b0c10 100%);
}

section.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(7,8,11,0.96) 0%, rgba(7,8,11,0.88) 30%, rgba(7,8,11,0.46) 62%, rgba(7,8,11,0.62) 100%),
    linear-gradient(180deg, rgba(7,8,11,0.28) 0%, rgba(7,8,11,0.62) 100%),
    url("page-hero-cover.jpg") 62% center / cover no-repeat;
  opacity:1;
  pointer-events:none;
}

.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left, rgba(255,106,0,0.12), transparent 34%),
    radial-gradient(circle at bottom right, rgba(255,140,26,0.08), transparent 28%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.015) 0 1px, transparent 1px 84px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.01) 0 1px, transparent 1px 84px);
  pointer-events:none;
}

.page-hero .container{
  position:relative;
  z-index:1;
}

.page-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.3fr) minmax(300px, 0.9fr);
  gap:28px;
  align-items:stretch;
}

.page-hero-grid.page-hero-grid-single{
  grid-template-columns:1fr;
}

.page-hero-grid.page-hero-grid-single .page-hero-copy{
  width:100%;
  max-width:none;
}

.page-hero-copy{
  position:relative;
  padding:34px 34px 38px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.015) 100%),
    linear-gradient(180deg, rgba(255,106,0,0.03), rgba(255,106,0,0.01));
  border:1px solid rgba(255,140,26,0.22);
  box-shadow:0 24px 58px rgba(0,0,0,0.34);
  clip-path:polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}

.page-kicker{
  display:inline-block;
  margin-bottom:16px;
  color:rgba(255,205,164,0.88);
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.2em;
}

.page-title{
  font-size:clamp(2.4rem, 4.6vw, 4rem);
  line-height:1.04;
  letter-spacing:0.06em;
  color:var(--accent-soft);
  margin-bottom:18px;
  text-shadow:0 0 18px rgba(255,106,0,0.14);
}

.page-lead{
  max-width:760px;
  color:var(--text-soft);
  font-size:1.06rem;
  line-height:1.9;
}

.page-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.page-badge{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border:1px solid rgba(255,140,26,0.24);
  background:rgba(255,255,255,0.03);
  color:var(--text-soft);
  font-size:0.9rem;
}

.page-actions{
  display:none;
}

.page-panel{
  position:relative;
  padding:28px 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.015)),
    linear-gradient(180deg, rgba(255,106,0,0.03), rgba(255,106,0,0));
  border:1px solid rgba(255,140,26,0.22);
  box-shadow:0 24px 58px rgba(0,0,0,0.34);
  clip-path:polygon(22px 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%, 0 22px);
}

.page-panel h3{
  color:var(--accent-soft);
  margin-bottom:14px;
  font-size:1.08rem;
}

.page-panel p{
  color:var(--text-soft);
  margin-bottom:12px;
}

.page-panel p:last-child{
  margin-bottom:0;
}

.page-list{
  list-style:none;
  display:grid;
  gap:12px;
}

.page-list li{
  position:relative;
  padding-left:16px;
  color:var(--text-soft);
}

.page-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.8em;
  width:6px;
  height:6px;
  background:var(--accent);
}

.page-section{
  padding:0 20px 86px;
}

.page-section.page-section-top{
  padding-top:24px;
}

.content-card,
.feature-card,
.page-link-card,
.team-card,
.service-step,
.page-banner{
  background:var(--bg-panel);
  border:1px solid var(--line-accent);
  box-shadow:var(--shadow);
}

.content-card{
  padding:30px 26px;
  border-radius:22px;
}

.content-card-intro{
  max-width:1120px;
  margin:0 auto;
}

.content-card p{
  color:var(--text-soft);
  margin-bottom:16px;
  font-size:1.12rem;
  line-height:1.95;
}

.content-card p:last-child{
  margin-bottom:0;
}

.feature-grid,
.page-link-grid,
.team-grid,
.service-flow{
  display:grid;
  gap:24px;
}

.feature-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.page-link-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.staff-tool{
  padding-bottom:92px;
}

.staff-tool-disclosure{
  margin-top:22px;
}

.staff-tool-board{
  padding:24px;
}

.staff-tool-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap:24px;
  align-items:start;
}

.staff-workbench,
.staff-preview,
.staff-history-tool{
  background:var(--bg-panel);
  border:1px solid var(--line-accent);
  box-shadow:var(--shadow);
  padding:28px;
  border-radius:20px;
}

.staff-workbench::before{
  display:none;
}

.staff-coming-soon{
  position:relative;
  z-index:1;
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.staff-coming-soon .section-title{
  margin-bottom:10px;
}

.staff-coming-soon p{
  color:var(--text-soft);
}

.staff-tool-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}

.staff-tool .section-title{
  text-align:left;
  margin-bottom:0;
}

.staff-status{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid rgba(255,140,26,0.24);
  background:rgba(255,255,255,0.03);
  color:var(--text-soft);
  font-size:0.9rem;
  line-height:1.3;
}

.staff-label{
  display:block;
  margin:18px 0 8px;
  color:var(--accent-soft);
  font-weight:700;
  letter-spacing:0.05em;
}

.staff-input,
.staff-textarea,
.staff-option input[type="number"]{
  width:100%;
  border:1px solid rgba(255,140,26,0.28);
  background:#0b0c10;
  color:var(--text);
  font:inherit;
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.03);
}

.staff-input{
  min-height:48px;
  padding:10px 14px;
}

.staff-file-input{
  padding:12px 14px;
}

.staff-file-input::file-selector-button{
  margin-right:14px;
  border:1px solid rgba(255,140,26,0.5);
  background:var(--accent);
  color:#1a0d03;
  font-weight:800;
  padding:8px 12px;
  cursor:pointer;
}

.history-source-note{
  margin:14px 0 18px;
  padding:14px 16px;
  border:1px solid rgba(255,140,26,0.24);
  background:rgba(255,255,255,0.03);
  color:var(--text-soft);
  line-height:1.7;
}

.staff-textarea{
  min-height:360px;
  resize:vertical;
  padding:16px;
  line-height:1.75;
}

.staff-input:focus,
.staff-textarea:focus,
.staff-option input[type="number"]:focus{
  border-color:rgba(255,140,26,0.72);
  box-shadow:0 0 0 3px rgba(255,106,0,0.14);
}

.staff-options{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  margin:18px 0 22px;
}

.staff-option{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--text-soft);
  font-weight:700;
}

.staff-option input[type="number"]{
  width:84px;
  min-height:42px;
  padding:8px 10px;
}

.staff-checkbox input{
  width:18px;
  height:18px;
  accent-color:var(--accent);
}

.staff-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.staff-actions .btn{
  min-width:150px;
  text-align:center;
}

.staff-preview .section-title{
  margin-bottom:20px;
}

.staff-preview-board{
  display:grid;
  gap:14px;
  max-height:640px;
  overflow:auto;
  padding-right:4px;
}

.staff-empty{
  color:var(--text-dim);
}

.history-result{
  margin-top:22px;
  display:grid;
  gap:14px;
}

.history-match-card{
  border:1px solid rgba(255,140,26,0.24);
  background:#0b0c10;
  padding:18px;
}

.history-match-card h3{
  color:var(--accent-soft);
  margin-bottom:8px;
}

.history-match-card p,
.history-match-card pre{
  color:var(--text-soft);
}

.history-match-card pre{
  margin-top:12px;
  max-height:260px;
  overflow:auto;
  white-space:pre-wrap;
  line-height:1.7;
  font:inherit;
}

.staff-slide-preview{
  position:relative;
  background:#139213;
  border:1px solid rgba(255,255,255,0.12);
  aspect-ratio:16 / 9;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:24px 18px 18px;
  color:#fff;
}

.staff-slide-preview span{
  position:absolute;
  transform:translateY(calc(-100% - 8px));
  color:var(--text-dim);
  font-size:0.78rem;
}

.staff-slide-preview p{
  font-family:"Microsoft JhengHei", sans-serif;
  font-weight:800;
  font-size:clamp(1.45rem, 2.8vw, 2.25rem);
  line-height:1.35;
  text-align:center;
}

@media (max-width: 980px) {
  .staff-tool-grid{
    grid-template-columns:1fr;
  }

  .staff-preview-board{
    max-height:none;
  }
}

@media (max-width: 640px) {
  .staff-workbench,
  .staff-preview{
    padding:22px 18px;
  }

  .staff-tool-head,
  .staff-options,
  .staff-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .staff-option{
    justify-content:space-between;
  }

  .staff-actions .btn{
    width:100%;
  }
}

.team-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.service-flow{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.feature-card,
.page-link-card,
.team-card,
.service-step{
  position:relative;
  padding:24px 20px;
  border-radius:20px;
  overflow:hidden;
}

.feature-card::before,
.page-link-card::before,
.team-card::before,
.service-step::before,
.page-banner::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:46px;
  height:46px;
  border-top:2px solid rgba(255,140,26,0.7);
  border-left:2px solid rgba(255,140,26,0.7);
  pointer-events:none;
}

.feature-card h3,
.page-link-card h3,
.team-card h3,
.service-step h3{
  color:var(--accent-soft);
  margin-bottom:12px;
  font-size:1.08rem;
}

.feature-card p,
.page-link-card p,
.team-card p,
.service-step p{
  color:var(--text-dim);
}

.page-link-card{
  display:block;
  width:100%;
  appearance:none;
  text-align:left;
  color:inherit;
  font:inherit;
  cursor:pointer;
  transition:transform 0.25s ease, border-color 0.25s ease;
}

.page-link-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,140,26,0.34);
}

.page-link-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:rgba(255,205,164,0.8);
  font-size:0.76rem;
  letter-spacing:0.18em;
}

.page-banner{
  position:relative;
  padding:28px 24px;
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)),
    linear-gradient(90deg, rgba(255,106,0,0.05), rgba(255,106,0,0));
}

.page-banner h3{
  color:var(--accent-soft);
  margin-bottom:10px;
}

.page-banner p{
  color:var(--text-soft);
}

.page-banner-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}

.page-quote{
  padding:18px 20px;
  border-left:3px solid rgba(255,140,26,0.78);
  background:rgba(255,255,255,0.025);
  color:var(--text-soft);
}

.page-hero-home-links{
  margin-top:34px;
}

.page-hero-home-links .page-link-grid{
  gap:18px;
}

.page-hero-home-links .page-link-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.015)),
    rgba(20,21,26,0.88);
}

.mini-note{
  margin-top:16px;
  color:var(--text-dim);
  font-size:0.92rem;
}

.contact-inline-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}

.contact-inline-card{
  background:var(--bg-panel);
  border:1px solid var(--line-accent);
  box-shadow:var(--shadow);
  border-radius:20px;
  padding:22px 18px;
}

.contact-inline-card h3{
  color:var(--accent-soft);
  margin-bottom:12px;
}

.contact-inline-card p{
  color:var(--text-dim);
}

@media (max-width: 992px){
  .page-hero-grid,
  .feature-grid,
  .page-link-grid,
  .team-grid,
  .service-flow,
  .contact-inline-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .page-hero-grid{
    gap:22px;
  }
}

@media (max-width: 768px){
  section.page-hero{
    padding:218px 16px 48px;
  }

  section.page-hero::before{
    background:
      linear-gradient(180deg, rgba(7,8,11,0.82) 0%, rgba(7,8,11,0.56) 46%, rgba(7,8,11,0.8) 100%),
      linear-gradient(90deg, rgba(7,8,11,0.9) 0%, rgba(7,8,11,0.62) 44%, rgba(7,8,11,0.72) 100%),
      url("page-hero-cover.jpg") 58% center / 165% auto no-repeat;
  }

  .page-hero-grid,
  .feature-grid,
  .page-link-grid,
  .team-grid,
  .service-flow,
  .contact-inline-grid{
    grid-template-columns:1fr;
  }

  .page-hero-copy,
  .page-panel,
  .content-card,
  .feature-card,
  .page-link-card,
  .team-card,
  .service-step,
  .page-banner{
    padding:22px 18px;
  }

  .page-title{
    font-size:2rem;
  }

  .page-lead{
    font-size:0.9rem;
  }

  .page-section{
    padding:0 16px 68px;
  }

  .page-actions,
  .page-banner-actions{
    gap:10px;
  }
}

@media (max-width: 560px){
  .page-kicker,
  .page-link-kicker{
    font-size:0.72rem;
  }

  .page-title{
    font-size:1.8rem;
  }

  .page-hero-copy,
  .page-panel{
    clip-path:polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
  }

  .page-link-card,
  .team-card,
  .service-step,
  .feature-card{
    border-radius:18px;
  }
}

/* ==================== */
/* Readability Tuning */
/* ==================== */
html{
  font-size:19px;
}

.logo-text{
  font-size:2.35rem;
}

.menu a{
  font-size:1.02rem;
}

.hero h1{
  font-size:5rem;
}

.hero p{
  font-size:1.52rem;
}

.section-title{
  font-size:1.8rem;
}

.section-subtitle{
  font-size:1.18rem;
}

.about-text{
  font-size:1rem;
}

.mission-item h3,
.ministry-card h3,
.pastor-content h3,
.event-content h3,
.belief-card h3,
.info-box h3,
.contact-box h3,
.feature-card h3,
.page-link-card h3,
.team-card h3,
.service-step h3,
.page-panel h3,
.contact-inline-card h3{
  font-size:0.85rem;
}

.offering-card h3,
.page-banner h3{
  font-size:1.3rem;
}

.belief-card h3{
  font-size:1.24rem;
}

.mission-item p,
.ministry-card p,
.pastor-content p,
.event-content p,
.info-box p,
.contact-box p,
.feature-card p,
.page-link-card p,
.team-card p,
.service-step p,
.page-panel p,
.page-banner p,
.contact-inline-card p,
.offering-card p,
.page-quote,
.bank-box{
  font-size:1.03rem;
  line-height:1.8;
}

.belief-card p{
  font-size:1.02rem;
}

.content-card p{
  font-size:1.18rem;
}

.page-kicker{
  font-size:0.9rem;
}

.page-link-kicker{
  font-size:0.84rem;
}

.page-lead{
  font-size:1.14rem;
}

.page-badge{
  font-size:0.98rem;
}

.pastor-role{
  font-size:1rem;
}

.modal-eyebrow{
  font-size:0.84rem;
}

.modal-title{
  font-size:2.18rem;
}

.modal-time{
  font-size:1rem;
}

.modal-body,
.modal-verse{
  font-size:1.04rem;
}

.ministry-card.ministry-card-featured h3{
  font-size:1.58rem;
}

.ministry-card.ministry-card-featured p{
  font-size:1.05rem;
  line-height:1.82;
}

.ministry-card-hint,
.mini-note,
.live-note,
footer{
  font-size:1rem;
}

.contact .section-title{
  font-size:2.7rem;
}

@media (max-width: 768px) {
  html{
    font-size:15px;
  }

  body{
    font-size:15px;
  }

  .logo-text{
    font-size:2rem;
  }

  .menu-toggle{
    width:100vw;
    max-width:100vw;
    height:40px;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
  }

  .menu a{
    font-size:0.9rem;
  }

  .hero h1{
    font-size:2.68rem;
  }

  .hero p{
    font-size:1.04rem;
  }

  .hero-subtitle{
    font-size:0.96rem;
  }

  .section-title{
    font-size:1.62rem;
  }

  .section-subtitle{
    font-size:0.92rem;
  }

  .contact .section-title{
    font-size:1.82rem;
  }

  .mission-item h3,
  .ministry-card h3,
  .belief-card h3,
  .info-box h3,
  .event-content h3,
  .offering-card h3,
  .contact-box h3,
  .pastor-content h3,
  .feature-card h3,
  .page-link-card h3,
  .team-card h3,
  .service-step h3,
  .page-panel h3,
  .contact-inline-card h3,
  .page-banner h3{
    font-size:1.1rem;
  }

  .about-text p,
  .mission-item p,
  .ministry-card p,
  .belief-card p,
  .info-box p,
  .event-content p,
  .offering-card p,
  .contact-box p,
  .pastor-content p,
  .feature-card p,
  .page-link-card p,
  .team-card p,
  .service-step p,
  .page-panel p,
  .page-banner p,
  .contact-inline-card p,
  .page-quote,
  .bank-box{
    font-size:0.9rem;
    line-height:1.75;
  }

  .pastor-role{
    font-size:0.88rem;
  }

  .ministry-card.ministry-card-featured h3{
    font-size:1.2rem;
  }

  .ministry-card-hint{
    font-size:0.76rem;
  }

  .modal-title{
    font-size:1.62rem;
  }

  .modal-time{
    font-size:0.9rem;
  }

  .modal-card.modal-card-wide{
    max-height:88vh;
  }

  .modal-card-wide .mission-list,
  .modal-card-wide .beliefs-grid{
    grid-template-columns:1fr;
  }

  .page-title{
    font-size:2.18rem;
  }

  .page-lead{
    font-size:0.96rem;
  }

  .live-note,
  .mini-note,
  footer,
  .btn{
    font-size:0.88rem;
  }
}

@media (max-width: 560px) {
  .logo-text{
    font-size:1.58rem;
  }

  .hero h1{
    font-size:2.36rem;
  }

  .hero p{
    font-size:1.02rem;
  }

  .hero-btns{
    width:100%;
    gap:10px;
  }

  .hero-btns .btn{
    flex-basis:calc(50% - 5px);
    min-width:0;
    padding:12px 10px;
  }

  .hero-subtitle{
    font-size:0.92rem;
  }

  .page-kicker,
  .page-link-kicker{
    font-size:0.72rem;
  }

  .page-title{
    font-size:2.02rem;
  }

  footer{
    font-size:0.84rem;
  }
}

/* ==================== */
/* Light Theme Refresh */
/* ==================== */
:root{
  --bg:#f6efe6;
  --bg-soft:#fff8ef;
  --bg-panel:#fff9f2;
  --bg-panel-2:#fff1df;
  --line:rgba(39,22,10,0.12);
  --line-accent:rgba(255,120,18,0.34);
  --text:#1b120a;
  --text-soft:#24170d;
  --text-dim:#4f3a29;
  --accent:#ff7a12;
  --accent-soft:#ff8c1a;
  --accent-deep:#d95e00;
  --shadow:0 18px 42px rgba(126,76,33,0.12);
}

body{
  background:
    linear-gradient(135deg, rgba(255,122,18,0.12) 0 6%, rgba(0,0,0,0) 6% 100%),
    linear-gradient(315deg, rgba(255,140,26,0.08) 0 5%, rgba(0,0,0,0) 5% 100%),
    repeating-linear-gradient(90deg, rgba(70,39,17,0.05) 0 1px, transparent 1px 84px),
    repeating-linear-gradient(0deg, rgba(70,39,17,0.035) 0 1px, transparent 1px 84px),
    linear-gradient(180deg, #fffdf9 0%, #fbf3e8 52%, #f7ecdf 100%);
  color:var(--text);
}

header{
  background:rgba(255,248,239,0.94);
  box-shadow:0 14px 32px rgba(124,74,32,0.08);
}

.logo-text,
.hero h1,
.page-title{
  color:var(--accent-deep);
  text-shadow:none;
}

.hero,
section.page-hero{
  background:
    linear-gradient(180deg, rgba(255,253,249,0.96) 0%, rgba(250,239,223,0.94) 100%);
}

.hero::before{
  background:
    linear-gradient(135deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(255,248,238,0.18) 0%, rgba(255,240,221,0.42) 32%, rgba(248,232,214,0.74) 100%),
    repeating-linear-gradient(90deg, rgba(66,39,18,0.045) 0 1px, transparent 1px 96px),
    repeating-linear-gradient(0deg, rgba(66,39,18,0.03) 0 1px, transparent 1px 96px);
}

.hero::after{
  background:linear-gradient(180deg, rgba(255,249,241,0) 0%, rgba(247,236,223,0.92) 100%);
}

.hero-scene{
  background:
    linear-gradient(180deg, rgba(255,251,246,0.06) 0%, rgba(255,243,228,0.16) 100%),
    url("https://i.ibb.co/Xrkg57bt/1234.png") center center / cover no-repeat;
  border:1px solid rgba(255,120,18,0.22);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.3),
    inset 0 -70px 90px rgba(255,245,232,0.52),
    0 26px 60px rgba(154,91,36,0.14);
  opacity:0.96;
}

.hero-scene::before{
  background:
    linear-gradient(135deg, rgba(255,255,255,0.24) 0%, rgba(255,255,255,0) 20%),
    linear-gradient(180deg, rgba(255,140,26,0.04) 0%, rgba(255,140,26,0.01) 42%, rgba(255,248,238,0.14) 100%);
}

.hero-content::before{
  border-color:rgba(111,62,25,0.1);
}

.hero-content::after{
  background:
    linear-gradient(90deg, rgba(255,106,0,0) 0 140px, transparent 140px calc(100% - 140px), rgba(255,106,0,0) calc(100% - 140px) 100%),
    linear-gradient(180deg, rgba(102,58,24,0.08) 0 1px, transparent 1px calc(100% - 1px), rgba(102,58,24,0.08) calc(100% - 1px) 100%);
}

.hero-panel,
.page-hero-copy{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.66), rgba(255,246,236,0.78)),
    linear-gradient(90deg, rgba(255,106,0,0.06) 0 1px, transparent 1px 100%);
  border-color:rgba(255,120,18,0.32);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.42),
    0 24px 58px rgba(146,88,37,0.14);
}

.hero-panel-mark,
.page-kicker,
.page-link-kicker,
.group-schedule-label{
  color:rgba(134,74,29,0.78);
}

.hero-subtitle{
  color:var(--accent-deep);
}

.hero-subtitle::before,
.hero-subtitle::after,
.hero-panel-divider{
  background:linear-gradient(90deg, rgba(255,106,0,0.08), rgba(255,140,26,0.48), rgba(255,106,0,0.08));
}

.hero p,
.page-lead,
.mini-note,
.live-note{
  color:#22160c;
}

section.page-hero::before{
  background:
    linear-gradient(90deg, rgba(255,252,247,0.9) 0%, rgba(255,249,241,0.84) 34%, rgba(255,244,231,0.54) 62%, rgba(255,246,235,0.72) 100%),
    linear-gradient(180deg, rgba(255,249,241,0.24) 0%, rgba(251,239,223,0.52) 100%),
    url("page-hero-cover.jpg") 62% center / cover no-repeat;
}

.page-hero::after{
  background:
    radial-gradient(circle at top left, rgba(255,106,0,0.12), transparent 34%),
    radial-gradient(circle at bottom right, rgba(255,140,26,0.08), transparent 28%),
    repeating-linear-gradient(90deg, rgba(67,39,17,0.05) 0 1px, transparent 1px 84px),
    repeating-linear-gradient(0deg, rgba(67,39,17,0.03) 0 1px, transparent 1px 84px);
}

.menu a{
  border-color:rgba(255,120,18,0.56);
  background:linear-gradient(180deg, #fffdfa 0%, #fff3e2 100%);
  box-shadow:inset 0 0 0 1px rgba(255,170,98,0.2);
  color:#1a1008;
  font-weight:800;
}

.menu a:hover,
.menu a.is-current{
  color:#1b120a;
  border-color:rgba(255,120,18,0.72);
  background:linear-gradient(180deg, #ffb25d 0%, #ff8a1c 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.24);
}

.btn-primary{
  background:linear-gradient(180deg, #ffaf59 0%, #ff8619 100%);
  color:#170e07;
  border-color:var(--accent);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.22);
}

.btn-primary:hover{
  background:linear-gradient(180deg, #ff8c1a 0%, #f37000 100%);
  color:#170e07;
}

.btn-outline{
  border-color:rgba(255,120,18,0.72);
  background:rgba(255,255,255,0.78);
  color:#1b120a;
}

.btn-outline:hover{
  background:#fff0da;
  color:#1b120a;
}

.content-card,
.feature-card,
.page-link-card,
.team-card,
.service-step,
.page-banner,
.page-panel,
.mission-item,
.info-box,
.offering-card,
.contact-box,
.contact-inline-card,
.belief-card,
.group-schedule-board,
.modal-card,
.staff-workbench,
.staff-preview,
.staff-history-tool,
.history-match-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,247,238,0.97));
  border-color:rgba(255,120,18,0.28);
  box-shadow:0 18px 42px rgba(146,88,37,0.12);
}

.page-link-card:hover{
  border-color:rgba(255,120,18,0.42);
}

.page-banner,
.page-panel{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,247,238,0.95)),
    linear-gradient(180deg, rgba(255,106,0,0.04), rgba(255,106,0,0));
}

.page-quote,
.history-source-note,
.staff-status{
  background:rgba(255,249,241,0.88);
  border-color:rgba(255,120,18,0.24);
  color:var(--text-soft);
}

.group-schedule-heading{
  background:linear-gradient(180deg, rgba(255,176,92,0.42), rgba(255,140,26,0.14));
  color:var(--accent-deep);
}

.group-schedule-board{
  background:
    linear-gradient(135deg, rgba(255,190,134,0.34), rgba(255,140,26,0.08) 24%, rgba(255,252,248,0.96) 24%, rgba(255,247,238,0.98) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
}

.group-schedule-row{
  border-color:rgba(255,120,18,0.2);
  background:linear-gradient(90deg, rgba(255,140,26,0.1), rgba(255,140,26,0.03) 24%, rgba(255,255,255,0.72));
}

.staff-label,
.group-schedule-name,
.modal-title,
.modal-time,
.modal-verse,
.page-panel h3,
.content-card h3,
.feature-card h3,
.page-link-card h3,
.team-card h3,
.service-step h3,
.page-banner h3,
.mission-item h3,
.info-box h3,
.offering-card h3,
.ministry-card h3,
.belief-card h3{
  color:var(--accent-deep);
}

.about-text p,
.mission-item p,
.ministry-card p,
.belief-card p,
.info-box p,
.event-content p,
.offering-card p,
.contact-box p,
.pastor-content p,
.feature-card p,
.page-link-card p,
.team-card p,
.service-step p,
.page-panel p,
.page-banner p,
.contact-inline-card p,
.page-quote,
.content-card p,
.group-schedule-item,
.staff-option,
.staff-empty,
.history-match-card p,
.history-match-card pre{
  color:#2a1b10;
}

.staff-input,
.staff-textarea,
.staff-option input[type="number"]{
  background:#fffdfa;
  color:var(--text);
  border-color:rgba(255,120,18,0.28);
  box-shadow:inset 0 0 0 1px rgba(255,176,102,0.12);
}

.history-match-card pre,
.modal-body,
.modal-summary,
.modal-section p,
.modal-section li{
  color:var(--text-soft);
}

.modal{
  background:rgba(255,248,238,0.54);
}

.ministry-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,247,238,0.96));
}

.ministry-card.ministry-card-featured{
  background:
    linear-gradient(0deg, rgba(255,249,241,0.86), rgba(255,249,241,0.86)),
    linear-gradient(90deg, rgba(255,140,26,0.52) 0 4px, transparent 4px calc(100% - 4px), rgba(255,140,26,0.52) calc(100% - 4px) 100%),
    linear-gradient(0deg, rgba(255,140,26,0.44) 0 4px, transparent 4px calc(100% - 4px), rgba(255,140,26,0.58) calc(100% - 4px) 100%),
    var(--ministry-photo-image) center center / cover no-repeat,
    var(--ministry-base-image) center center / cover no-repeat;
  box-shadow:
    inset 0 0 0 5px rgba(255,250,243,0.94),
    inset 0 0 0 8px rgba(255,140,26,0.22),
    inset 0 0 0 12px rgba(255,255,255,0.78),
    inset 0 0 18px rgba(255,140,26,0.12),
    0 22px 42px rgba(146,88,37,0.14);
}

.ministry-card.ministry-card-featured h3,
.ministry-card.ministry-card-featured p{
  color:#1b120a;
  text-shadow:none;
}

.ministry-card-hint{
  background:rgba(255,250,243,0.92);
  color:#1b120a;
  border-color:rgba(255,120,18,0.28);
  box-shadow:inset 0 0 0 1px rgba(255,176,102,0.12);
}

.page-pastors .pastor-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,247,238,0.96)),
    linear-gradient(180deg, #fffdf9 0%, #fff2e1 100%);
  border-color:rgba(255,120,18,0.4);
  box-shadow:0 18px 40px rgba(146,88,37,0.12), inset 0 0 0 2px rgba(255,255,255,0.3);
}

.page-pastors .pastor-card::before{
  border-color:rgba(255,120,18,0.18);
}

.page-pastors .pastor-photo{
  border-color:rgba(255,120,18,0.36);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,0.24);
}

.page-pastors .pastor-photo::before{
  border-color:rgba(255,120,18,0.18);
}

.page-pastors .pastor-photo::after{
  background:linear-gradient(180deg, rgba(255,249,241,0) 0%, rgba(255,249,241,0.24) 30%, rgba(255,245,235,0.9) 100%);
}

.page-pastors .pastor-role{
  color:rgba(55,34,20,0.84);
}

.staff-slide-preview{
  border-color:rgba(27,18,10,0.14);
}

footer{
  color:rgba(49,32,19,0.72);
}

@media (max-width: 768px) {
  .hero-scene{
    display:none;
  }

  .hero-panel{
    background:
      linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,246,236,0.82)),
      linear-gradient(90deg, rgba(255,106,0,0.05) 0 1px, transparent 1px 100%);
  }
}

@media (max-width: 768px) {
  header,
  header.menu-open{
    overflow:visible;
  }

  .nav{
    position:relative;
    gap:10px;
    padding:12px 0 12px;
    align-items:stretch;
  }

  .logo{
    width:auto;
    padding:0 52px 0 0;
    text-align:left;
  }

  .logo-text{
    display:block;
    font-size:1.72rem;
    line-height:1.06;
    text-align:left;
  }

  header.menu-collapsible .menu-toggle{
    display:inline-flex !important;
  }

  .menu-toggle{
    position:absolute;
    top:10px;
    right:2px;
    width:36px;
    height:36px;
    margin:0;
    padding:0;
    border:1px solid rgba(255,120,18,0.34);
    background:rgba(255,249,241,0.96);
    box-shadow:0 8px 18px rgba(146,88,37,0.06);
    clip-path:polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
    transform:none;
  }

  .menu-toggle::before,
  .menu-toggle::after{
    left:9px;
    right:9px;
    height:2px;
    background:#1b120a;
    top:auto;
    transform:none;
    clip-path:none;
    z-index:2;
    box-shadow:none;
  }

  .menu-toggle::before{
    top:11px;
  }

  .menu-toggle::after{
    top:23px;
    width:auto;
  }

  header.menu-open .menu-toggle::before,
  header.menu-open .menu-toggle::after{
    background:#1b120a;
    transform:none;
  }

  .menu-toggle-arrow{
    width:18px;
    height:2px;
    background:#1b120a;
  }

  .menu-toggle-arrow::before,
  .menu-toggle-arrow::after{
    display:none;
  }

  .menu{
    position:absolute;
    top:calc(100% + 10px);
    left:calc(50% - 50vw);
    right:calc(50% - 50vw);
    width:100vw;
    max-width:100vw;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:14px 12px 16px;
    background:rgba(255,248,239,0.98);
    border:1px solid rgba(255,120,18,0.24);
    box-shadow:0 18px 38px rgba(146,88,37,0.12);
    clip-path:polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
    z-index:1200;
  }

  header.menu-collapsible .menu{
    max-height:0;
    opacity:0;
    transform:translateY(-8px);
    pointer-events:none;
    overflow:hidden;
  }

  header.menu-collapsible.menu-open .menu{
    max-height:560px;
    opacity:1;
    transform:none;
    pointer-events:auto;
  }

  .menu a{
    flex:none;
    width:100%;
    max-width:none;
    min-height:46px;
    padding:12px 14px;
    font-size:0.92rem;
    justify-content:center;
  }
}

.page-offering .bank-box{
  background:linear-gradient(180deg, #fff7ee 0%, #ffe8cc 100%);
  border:1px solid rgba(255,120,18,0.24);
  color:#2a1b10;
  box-shadow:0 14px 28px rgba(146,88,37,0.08);
}

.page-offering .bank-box strong{
  color:var(--accent-deep);
}

.page-contact .contact-box{
  background:linear-gradient(180deg, #fff9f3 0%, #ffefdb 100%);
  border:1px solid rgba(255,120,18,0.24);
  box-shadow:0 18px 34px rgba(146,88,37,0.08);
}

.page-contact .contact-box h3{
  color:var(--accent-deep);
}

.page-contact .contact-box p{
  color:#2a1b10;
}

.page-contact .contact{
  background:
    repeating-linear-gradient(90deg, rgba(70,39,17,0.05) 0 1px, transparent 1px 88px),
    linear-gradient(180deg, #fffdf9 0%, #f9efe3 100%);
  color:var(--text);
}

.page-contact .contact::before{
  background:linear-gradient(90deg, rgba(255,106,0,0), rgba(255,106,0,0.42), rgba(255,106,0,0));
}

.page-contact .contact .container{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,247,238,0.92));
  border:1px solid rgba(255,120,18,0.22);
  box-shadow:0 24px 48px rgba(146,88,37,0.08);
}

.page-contact .contact .container::before{
  border-top:2px solid rgba(255,120,18,0.52);
  border-left:2px solid rgba(255,120,18,0.52);
}

.page-contact .contact .container::after{
  border-right:2px solid rgba(255,120,18,0.42);
  border-bottom:2px solid rgba(255,120,18,0.42);
}

.page-contact .contact .section-title,
.page-contact .contact .section-subtitle{
  color:#2a1b10;
}

.page-contact .contact .section-subtitle{
  color:#5b4331;
}

#beliefs-modal .belief-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,247,238,0.98));
  border-color:rgba(255,128,32,0.28);
  box-shadow:
    0 18px 42px rgba(146,88,37,0.12),
    inset 0 0 0 1px rgba(255,255,255,0.62);
}

#beliefs-modal .belief-card::after{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,214,173,0.1) 100%),
    linear-gradient(135deg, rgba(255,140,26,0.08) 0%, rgba(255,140,26,0.02) 34%, rgba(255,255,255,0) 100%);
}

#beliefs-modal .belief-card h3{
  color:var(--accent-deep);
}

#beliefs-modal .belief-card p{
  color:#2a1b10;
}

#beliefs-modal .belief-card.belief-we-believe{
  background:
    linear-gradient(180deg, rgba(255,196,138,0.38), rgba(255,146,52,0.88)),
    linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0.02));
  border-color:rgba(255,128,32,0.52);
  box-shadow:
    0 18px 42px rgba(146,88,37,0.18),
    inset 0 0 0 1px rgba(255,255,255,0.28);
}

#beliefs-modal .belief-card.belief-we-believe .belief-lockup,
#beliefs-modal .belief-card.belief-we-believe .belief-lockup-en-small,
#beliefs-modal .belief-card.belief-we-believe .belief-lockup-en,
#beliefs-modal .belief-card.belief-we-believe .belief-lockup-zh{
  color:#2a1204;
}
