:root {
  --forest: #2d4a3e; --forest-dark: #1e3329; --forest-light: #3d6455;
  --cream: #f5f0e8; --warm-white: #faf8f3; --gold: #b8860b; --gold-light: #d4a843;
  --rust: #8b3a2a; --text-dark: #1a1a1a; --text-mid: #4a4a4a; --text-light: #6e6e6e;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Lato',sans-serif; background:var(--warm-white); color:var(--text-dark); overflow-x:hidden; }
.page { display:none; min-height:100vh; padding-top:60px; }
.page:target { display:block; }
#page-home { display:block; }
.page { scroll-margin-top:0; }
#page-home:target ~ #page-home-default { display:none; }
/* When any other page is targeted, hide home */
#page-about:target ~ #page-home,
#page-schedule:target ~ #page-home,
#page-sunday-school:target ~ #page-home,
#page-events:target ~ #page-home,
#page-contact:target ~ #page-home { display:none; }
/* When about/schedule/etc are targeted but home is NOT, show targeted */
body:has(#page-about:target) #page-home,
body:has(#page-schedule:target) #page-home,
body:has(#page-sunday-school:target) #page-home,
body:has(#page-events:target) #page-home,
body:has(#page-contact:target) #page-home { display:none; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(255,255,255,0.97); backdrop-filter:blur(10px); border-bottom:1px solid rgba(45,74,62,0.12); padding:0 2.5rem; display:flex; align-items:center; justify-content:space-between; height:60px; box-shadow:0 2px 24px rgba(0,0,0,0.07); }
.nav-brand { font-family:'Cinzel',serif; font-size:1rem; color:var(--forest); letter-spacing:0.06em; font-weight:700; cursor:pointer; transition:opacity 0.2s; text-decoration:none; }
.nav-brand:hover { opacity:0.75; }
.nav-links { display:flex; gap:2rem; list-style:none; }
.nav-links a { font-family:'Cinzel',serif; font-size:0.63rem; letter-spacing:0.14em; color:var(--text-mid); text-decoration:none; text-transform:uppercase; transition:color 0.25s; position:relative; cursor:pointer; padding-bottom:2px; }
.nav-links a::after { content:''; position:absolute; bottom:-2px; left:0; right:0; height:1px; background:var(--gold); transform:scaleX(0); transition:transform 0.3s ease; }
.nav-links a:hover { color:var(--forest); }
.nav-links a:hover::after { transform:scaleX(1); }
/* Highlight active nav via :target */
body:has(#page-about:target) #nav-about,
body:has(#page-schedule:target) #nav-schedule,
body:has(#page-sunday-school:target) #nav-ss,
body:has(#page-events:target) #nav-events,
body:has(#page-contact:target) #nav-contact { color:var(--forest); }
body:has(#page-about:target) #nav-about::after,
body:has(#page-schedule:target) #nav-schedule::after,
body:has(#page-sunday-school:target) #nav-ss::after,
body:has(#page-events:target) #nav-events::after,
body:has(#page-contact:target) #nav-contact::after { transform:scaleX(1); }

/* HOME */
#page-home { padding-top:60px; }
.hero-split { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 60px); }
.hero-left { background:var(--cream); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:4rem 3rem; gap:2rem; animation:fadeInLeft 0.9s ease forwards; }
.hero-cross { color:var(--forest); font-size:2rem; animation:pulse 3s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:.5;transform:scale(1)} 50%{opacity:1;transform:scale(1.08)} }
.hero-title { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; color:var(--text-dark); text-align:center; line-height:1.2; }
.hero-img-wrap { width:100%; max-width:360px; border-radius:20px; overflow:hidden; box-shadow:0 10px 50px rgba(0,0,0,0.22); opacity:0; animation:floatUp 1s ease 0.3s forwards; }
.hero-img-wrap img { width:100%; height:280px; object-fit:cover; display:block; }
.hero-address { font-family:'Cinzel',serif; font-size:0.75rem; letter-spacing:0.18em; color:var(--rust); text-align:center; }
.hero-right { background:var(--forest); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:4rem 3rem; }
.hero-nav { list-style:none; width:100%; max-width:260px; }
.hero-nav li { border-bottom:1px solid rgba(255,255,255,0.18); opacity:0; animation:fadeInRight 0.6s ease forwards; }
.hero-nav li:first-child { border-top:1px solid rgba(255,255,255,0.18); }
.hero-nav li:nth-child(1){animation-delay:0.2s} .hero-nav li:nth-child(2){animation-delay:0.35s}
.hero-nav li:nth-child(3){animation-delay:0.5s} .hero-nav li:nth-child(4){animation-delay:0.65s}
.hero-nav li:nth-child(5){animation-delay:0.8s} .hero-nav li:nth-child(6){animation-delay:0.95s}
.hero-nav a { display:block; text-align:center; padding:1.1rem 0; font-family:'Cinzel',serif; font-size:0.76rem; letter-spacing:0.14em; color:white; text-decoration:none; font-weight:600; cursor:pointer; transition:color 0.25s, background 0.25s; }
.hero-nav a:hover { color:var(--gold-light); background:rgba(255,255,255,0.04); }

/* SHARED */
.section-inner { max-width:1100px; margin:0 auto; padding:0 2.5rem; }
.section-tag { font-family:'Cinzel',serif; font-size:0.65rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:0.5rem; }
.gold-bar { width:60px; height:1px; background:var(--gold); margin-bottom:1.5rem; }
.gold-divider { width:60px; height:1px; background:var(--gold); margin:1rem auto; }
.reveal { opacity:0; transform:translateY(22px); animation:revealAnim 0.8s ease forwards; animation-delay:0.2s; }
@keyframes revealAnim { to { opacity:1; transform:translateY(0); } }
.btn-register { display:inline-block; padding:0.9rem 2rem; background:var(--forest); color:white; font-family:'Cinzel',serif; font-size:0.72rem; letter-spacing:0.12em; text-decoration:none; border-radius:6px; transition:background 0.3s,transform 0.2s; }
.btn-register:hover { background:var(--forest-light); transform:translateY(-2px); }
.nav-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.8rem 1.6rem; background:var(--forest); color:white; text-decoration:none; font-family:'Cinzel',serif; font-size:.7rem; letter-spacing:.1em; border-radius:6px; transition:background .3s,transform .2s; }
.nav-btn:hover { background:var(--forest-light); transform:translateY(-2px); }

/* ABOUT STRIP */
.about-strip { background:var(--warm-white); padding:6rem 0; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.about-img-frame { }
.about-img-frame img { width:100%; height:auto; display:block; object-fit:contain; }

/* EVENTS STRIP */
.events-strip { background:var(--cream); padding:6rem 0; }
.events-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.events-heading { font-family:'Cormorant Garamond',serif; font-size:3.2rem; font-weight:300; font-style:italic; color:var(--forest); margin-bottom:2rem; line-height:1.1; }
.events-year { font-family:'Cinzel',serif; font-size:0.85rem; letter-spacing:0.25em; color:var(--gold); margin-bottom:1.2rem; text-align:center; }
.events-list { list-style:none; border:1px solid rgba(45,74,62,0.18); border-radius:10px; overflow:hidden; margin-bottom:1.5rem; }
.events-list li { padding:1rem 1.5rem; font-size:0.95rem; color:var(--text-mid); border-bottom:1px solid rgba(45,74,62,0.1); transition:background 0.2s; }
.events-list li:last-child { border-bottom:none; }
.events-list li:hover { background:rgba(45,74,62,0.04); }
.events-bible { border-radius:14px; overflow:hidden; box-shadow:0 14px 60px rgba(0,0,0,0.16); }
.events-bible img { width:100%; height:380px; object-fit:cover; display:block; }

/* SS STRIP */
.ss-strip { background:var(--warm-white); padding:6rem 0; }
.ss-header-home { text-align:center; margin-bottom:3rem; }
.ss-title-home { font-family:'Cinzel',serif; font-size:2.6rem; letter-spacing:0.18em; color:var(--forest); margin-bottom:0.6rem; }
.ss-quote-home { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:0.9rem; color:var(--text-light); max-width:520px; margin:0 auto; line-height:1.8; text-transform:uppercase; letter-spacing:0.04em; }
.ss-home-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.ss-photo-home { border-radius:12px; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.14); }
.ss-photo-home img { width:100%; height:320px; object-fit:cover; display:block; transition:transform 0.5s; }
.ss-photo-home:hover img { transform:scale(1.04); }
.verse-label { font-family:'Cinzel',serif; font-size:0.78rem; letter-spacing:0.22em; color:var(--rust); text-transform:uppercase; margin-bottom:1rem; }
.verse-ref { font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:600; color:var(--forest); margin-bottom:0.8rem; }
.verse-text { font-family:'Cormorant Garamond',serif; font-size:1.12rem; line-height:1.8; color:var(--text-mid); font-style:italic; }

/* CONTACT HOME STRIP */
.contact-home-strip { background:var(--forest-dark); padding:6rem 0; }
.contact-home-strip h2 { font-family:'Cormorant Garamond',serif; font-size:2.8rem; font-weight:300; color:white; margin-bottom:3rem; }
.contact-home-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.contact-home-addr { font-style:normal; line-height:2.2; color:rgba(255,255,255,0.7); font-size:.95rem; margin-bottom:1.5rem; }
.contact-home-addr strong { display:block; color:white; font-weight:700; margin-bottom:.2rem; }
.contact-home-links { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }
.home-link-group h3 { font-family:'Cinzel',serif; font-size:.7rem; letter-spacing:.18em; color:var(--gold-light); margin-bottom:1rem; text-transform:uppercase; }
.home-link-group ul { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.home-link-group a { font-size:.87rem; color:rgba(255,255,255,0.75); text-decoration:underline; text-underline-offset:3px; transition:color .2s; line-height:1.5; }
.home-link-group a:hover { color:var(--gold-light); }

/* ABOUT PAGE */
#page-about { background:var(--warm-white); }
.page-banner { background:var(--forest); padding:5rem 2rem 4rem; text-align:center; position:relative; overflow:hidden; }
.page-banner::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,0.03) 0%,transparent 60%); }
.page-banner h1 { font-family:'Cormorant Garamond',serif; font-size:3.5rem; font-weight:300; color:white; position:relative; z-index:1; }
.page-banner p { font-family:'Cinzel',serif; font-size:0.65rem; letter-spacing:0.3em; color:rgba(255,255,255,0.5); margin-bottom:0.8rem; text-transform:uppercase; position:relative; z-index:1; }
.about-page-content { padding:6rem 0; }
.about-page-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; margin-bottom:5rem; }
.interior-frame { }
.interior-frame img { width:100%; display:block; }
.about-body h3 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:400; color:var(--forest); margin-bottom:1rem; }
.about-body p { font-size:0.98rem; line-height:2; color:var(--text-mid); font-weight:300; margin-bottom:1.2rem; }
.beliefs-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:3rem; }
.belief-card { background:var(--cream); border-radius:12px; padding:1.8rem; border-left:3px solid var(--gold); transition:transform 0.3s,box-shadow 0.3s; }
.belief-card:hover { transform:translateY(-4px); box-shadow:0 10px 30px rgba(0,0,0,0.08); }
.belief-card h4 { font-family:'Cinzel',serif; font-size:0.75rem; letter-spacing:0.14em; color:var(--forest); margin-bottom:0.6rem; text-transform:uppercase; }
.belief-card p { font-size:0.88rem; line-height:1.8; color:var(--text-mid); }

/* SCHEDULE PAGE */
#page-schedule { background:var(--cream); }
.sched-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; max-width:960px; margin:0 auto; padding:3rem 2rem; }
.day-card { border-radius:16px; overflow:hidden; position:relative; height:360px; box-shadow:0 8px 36px rgba(0,0,0,0.16); transition:transform 0.35s ease,box-shadow 0.35s ease; cursor:default; }
.day-card:hover { transform:translateY(-10px); box-shadow:0 22px 55px rgba(0,0,0,0.22); }
.day-bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(100%) brightness(0.38); transition:filter 0.45s; }
.day-card:hover .day-bg { filter:grayscale(50%) brightness(0.42); }
.day-content { position:relative; z-index:2; padding:2rem 1.8rem; height:100%; display:flex; flex-direction:column; color:white; }
.day-name { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:400; margin-bottom:1.5rem; }
.day-times { font-size:0.82rem; line-height:2; font-weight:300; opacity:0.93; }
.day-times em { font-style:italic; opacity:0.65; font-size:0.74rem; display:block; margin-top:0.4rem; }
.youth-wrap { max-width:960px; margin:0 auto; padding:0 2rem 5rem; display:grid; grid-template-columns:180px 1fr; gap:3rem; align-items:start; }
.youth-label-col h2 { font-family:'Cinzel',serif; font-size:1.2rem; letter-spacing:0.15em; color:var(--text-mid); text-transform:uppercase; line-height:1.4; }
.youth-label-col .cursive { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.5rem; color:var(--text-light); display:block; }
.ytable-wrap { border-radius:12px; overflow:hidden; box-shadow:0 4px 24px rgba(0,0,0,0.09); }
.ytable { width:100%; border-collapse:collapse; font-size:0.85rem; }
.ytable th { background:var(--forest-dark); color:white; font-family:'Cinzel',serif; letter-spacing:0.1em; padding:0.9rem 1.2rem; text-align:center; font-size:0.8rem; }
.ytable .sub-hd { background:var(--forest); color:rgba(255,255,255,0.75); font-size:0.74rem; padding:0.5rem 1.2rem; text-align:left; }
.ytable td { padding:0.55rem 1.2rem; text-align:center; border-bottom:1px solid rgba(0,0,0,0.06); color:var(--text-mid); background:white; }
.ytable .mhd td { font-family:'Cinzel',serif; font-weight:600; font-size:0.76rem; letter-spacing:0.12em; padding:0.6rem 1.2rem; text-align:center; }
.ytable .m-march td { background:#fef9c3; }
.ytable .m-april td { background:#dbeafe; }
.ytable .m-may td { background:#fce7f3; }

/* SUNDAY SCHOOL PAGE */
#page-sunday-school { background:var(--warm-white); }
.ss-page-top { text-align:center; padding:3rem 2rem 2rem; }
.ss-big { font-family:'Cinzel',serif; font-size:2.8rem; letter-spacing:0.2em; color:var(--forest); margin-bottom:0.5rem; }
.ss-sub { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:0.9rem; color:var(--text-light); max-width:500px; margin:.8rem auto 0; line-height:1.9; text-transform:uppercase; letter-spacing:.04em; }
.ss-top-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; max-width:1000px; margin:2rem auto; padding:0 2rem 3rem; align-items:start; }
.ss-photo-frame { border-radius:12px; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.14); }
.ss-photo-frame img { width:100%; height:320px; object-fit:cover; display:block; transition:transform .5s; }
.ss-photo-frame:hover img { transform:scale(1.04); }
.ss-verse-col { text-align:center; padding:1rem 0; }
.curriculum-wrap { max-width:1000px; margin:0 auto; padding:0 2rem 5rem; }
.curriculum-wrap h2 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:300; text-align:center; margin-bottom:2rem; color:var(--text-dark); }
.ctable-outer { border-radius:12px; overflow:hidden; box-shadow:0 4px 30px rgba(0,0,0,0.1); overflow-x:auto; }
.ctable { width:100%; border-collapse:collapse; font-size:0.74rem; }
.ctable thead th { background:var(--forest); color:white; font-family:'Cinzel',serif; letter-spacing:.08em; padding:.8rem .7rem; text-align:left; font-size:.69rem; white-space:nowrap; }
.ctable tbody tr { border-bottom:1px solid rgba(0,0,0,0.07); }
.ctable tbody tr:hover td { background:rgba(45,74,62,0.04); }
.ctable td { padding:.5rem .7rem; color:var(--text-mid); vertical-align:top; line-height:1.5; background:white; }
.ctable td:first-child { white-space:nowrap; color:var(--text-light); font-size:.71rem; }
.tr-cancelled td { background:#f4f4f4 !important; color:#aaa; font-style:italic; }
.tr-fellowship td { background:#fef9e7 !important; color:#8b6914; }
.vref { color:var(--forest); }
.chap { color:var(--rust); font-weight:600; }
.legend { display:flex; gap:1.5rem; margin-top:1rem; font-size:.77rem; flex-wrap:wrap; }
.leg-item { display:flex; align-items:center; gap:.4rem; }
.leg-swatch { width:14px; height:14px; border-radius:3px; border:1px solid #ddd; }

/* EVENTS PAGE */
#page-events { background:var(--cream); }
.events-page-inner { max-width:900px; margin:0 auto; padding:4rem 2rem; }
.events-bible-banner { border-radius:16px; overflow:hidden; box-shadow:0 14px 60px rgba(0,0,0,0.16); margin:3rem 0; }
.events-bible-banner img { width:100%; height:340px; object-fit:cover; display:block; }
.events-card { background:white; border-radius:14px; padding:2.5rem; box-shadow:0 4px 24px rgba(0,0,0,0.07); margin-bottom:2rem; }
.events-card h3 { font-family:'Cinzel',serif; font-size:.75rem; letter-spacing:.2em; color:var(--gold); text-transform:uppercase; margin-bottom:1.5rem; }
.event-item { display:flex; gap:1.5rem; align-items:flex-start; padding:1rem 0; border-bottom:1px solid rgba(0,0,0,0.06); }
.event-item:last-child { border-bottom:none; }
.event-dot { width:8px; height:8px; background:var(--forest); border-radius:50%; margin-top:6px; flex-shrink:0; }
.event-item h4 { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:600; color:var(--text-dark); margin-bottom:.2rem; }
.event-item p { font-size:.87rem; color:var(--text-light); }

/* CONTACT PAGE */
#page-contact { background:var(--warm-white); }
.contact-page-inner { max-width:1100px; margin:0 auto; padding:4rem 2.5rem 6rem; }
.contact-page-inner h1 { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; margin-bottom:3rem; color:var(--text-dark); }
.contact-main { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.contact-addr { font-style:normal; line-height:2.2; color:var(--text-mid); font-size:.95rem; margin-bottom:1.8rem; }
.contact-addr strong { display:block; color:var(--text-dark); font-weight:700; margin-bottom:.2rem; }
.contact-links-col { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }
.link-group h3 { font-family:'Cinzel',serif; font-size:.7rem; letter-spacing:.18em; color:var(--forest); margin-bottom:1rem; text-transform:uppercase; }
.link-group ul { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.link-group a { font-size:.87rem; color:var(--forest); text-decoration:underline; text-underline-offset:3px; transition:color .2s; line-height:1.5; }
.link-group a:hover { color:var(--gold); }

/* FOOTER */
footer { background:var(--forest-dark); color:rgba(255,255,255,.55); text-align:center; padding:2rem; font-size:.8rem; letter-spacing:.07em; }
footer span { color:var(--gold-light); }

/* ANIMATIONS */
@keyframes fadeInLeft { from{opacity:0;transform:translateX(-28px)} to{opacity:1;transform:translateX(0)} }
@keyframes fadeInRight { from{opacity:0;transform:translateX(28px)} to{opacity:1;transform:translateX(0)} }
@keyframes floatUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }


/* ── BURGER MENU ── */
.nav-toggle { display:none; }
.burger {
  display:none;
  flex-direction:column;
  justify-content:space-between;
  width:26px; height:20px;
  cursor:pointer;
  z-index:1001;
  padding:2px 0;
}
.burger span {
  display:block;
  width:100%; height:2px;
  background:var(--forest);
  border-radius:2px;
  transition:all 0.35s ease;
  transform-origin:center;
}

@media(max-width:800px){
  .burger { display:flex; }

  .nav-links {
    display:none;
    position:fixed;
    top:60px; left:0; right:0;
    background:rgba(255,255,255,0.98);
    backdrop-filter:blur(12px);
    flex-direction:column;
    align-items:stretch;
    padding:0;
    box-shadow:0 8px 30px rgba(0,0,0,0.12);
    border-top:1px solid rgba(45,74,62,0.1);
    z-index:999;
    animation:slideDown 0.3s ease forwards;
  }

  .nav-toggle:checked ~ .nav-links {
    display:flex;
  }

  .nav-links li {
    border-bottom:1px solid rgba(45,74,62,0.08);
  }

  .nav-links a {
    display:block;
    padding:1.1rem 2rem;
    font-size:0.75rem;
    letter-spacing:0.14em;
  }

  .nav-links a::after { display:none; }

  /* Animate burger to X when open */
  .nav-toggle:checked ~ .burger span:nth-child(1) {
    transform:translateY(9px) rotate(45deg);
  }
  .nav-toggle:checked ~ .burger span:nth-child(2) {
    opacity:0; transform:scaleX(0);
  }
  .nav-toggle:checked ~ .burger span:nth-child(3) {
    transform:translateY(-9px) rotate(-45deg);
  }

  @keyframes slideDown {
    from { opacity:0; transform:translateY(-10px); }
    to   { opacity:1; transform:translateY(0); }
  }

  /* Keep existing mobile layout fixes */
  .hero-split,.about-grid,.events-grid,.ss-home-grid,.contact-home-grid,.contact-home-links,
  .about-page-grid,.beliefs-grid,.sched-cards,.youth-wrap,.ss-top-grid,
  .contact-main,.contact-links-col { grid-template-columns:1fr; }
  .hero-right { display:none; }
}
