:root{
  --olive:#3F4630;
  --olive-dark:#29301F;
  --sage:#7B8368;
  --cream:#F8F5F0;
  --sand:#D7C9B3;
  --sand-light:#F3EEE6;
  --gold:#B7A06A;
  --text:#333333;
  --white:#FFFFFF;
  --border:#D8CBB7;
  --heading-font:'Cormorant Garamond',serif;
  --body-font:'Source Sans Pro',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--body-font);background:var(--cream);color:var(--text);line-height:1.7;font-size:17px;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;}
.container{width:90%;max-width:1200px;margin:0 auto;}
.narrow{max-width:850px;margin:0 auto;}

/* =====================================================
   HEADER + SLIDE-OUT NAVIGATION
===================================================== */
/* HEADER ACTIONS */

.header-actions{
  display:flex;
  align-items:center;
  gap:34px;
  margin-left:auto;
}


/* LARGE VISIBLE BOOK NOW BUTTON */

/* =====================================================
   ELEGANT HEADER BOOKING BUTTON
===================================================== */

.header-book-btn{
  min-width:195px;
  min-height:60px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:14px 32px;

  background:rgba(255,255,255,.30);
  color:var(--olive);

  border:1px solid var(--gold);
  border-radius:4px;

  font-family:var(--heading-font);
  font-size:1.3rem;
  font-weight:600;
  letter-spacing:1px;

  text-decoration:none;

  box-shadow:
    0 5px 16px rgba(63,70,48,.06),
    inset 0 0 0 1px rgba(255,255,255,.40);

  transition:
    background .3s ease,
    color .3s ease,
    border-color .3s ease,
    transform .3s ease,
    box-shadow .3s ease;
}

.header-book-btn:hover{
  background:var(--gold);
  color:var(--olive-dark);
  border-color:var(--gold);

  transform:translateY(-2px);

  box-shadow:
    0 10px 24px rgba(63,70,48,.13),
    inset 0 0 0 1px rgba(255,255,255,.18);
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:var(--cream);
  border-bottom:1px solid rgba(183,160,106,.18);
  box-shadow:0 6px 18px rgba(0,0,0,.05);
}

.nav{
  min-height:145px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:42px;
  padding:18px 0;
}

.logo-wrap{
  display:block;
  flex-shrink:0;
}

.logo{
  width:300px;
  height:auto;
  filter:drop-shadow(0 0 8px rgba(183,160,106,.10));
  transition:transform .35s ease;
}

.logo:hover{
  transform:scale(1.02);
}

.menu-toggle{
  position:relative;
  z-index:1002;
  width:62px;
  height:62px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex-shrink:0;
  background:transparent;
  border:1px solid rgba(63,70,48,.18);
  border-radius:50%;
  cursor:pointer;
  opacity:1;
  visibility:visible;
  transition:
    background .25s ease,
    border-color .25s ease,
    transform .25s ease,
    box-shadow .25s ease,
    opacity .2s ease,
    visibility .2s ease;
}

.menu-toggle span{
  display:block;
  width:26px;
  height:2px;
  background:var(--olive);
  border-radius:2px;
  transition:
    transform .3s ease,
    opacity .3s ease,
    background .3s ease;
}

.menu-toggle:hover{
  background:var(--sand-light);
  border-color:var(--gold);
  transform:scale(1.04);
  box-shadow:0 8px 20px rgba(63,70,48,.10);
}

/* Hide the header menu button while slide-out menu is open */

.menu-toggle.active{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(.92);
}

.menu-overlay{
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(41,48,31,.46);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity .35s ease,
    visibility .35s ease;
}

.menu-overlay.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.menu-panel{
  position:fixed;
  top:0;
  right:0;
  z-index:1001;
  width:min(460px,92vw);
  height:100dvh;
  padding:42px 48px 42px;
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  background:var(--olive);
  border-left:2px solid var(--gold);
  box-shadow:-20px 0 50px rgba(0,0,0,.18);
  transform:translateX(102%);
  visibility:hidden;
  transition:
    transform .38s ease,
    visibility .38s ease;
}

.menu-panel.open{
  transform:translateX(0);
  visibility:visible;
}

.menu-close{
  position:absolute;
  top:28px;
  right:28px;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  cursor:pointer;
  transition:
    border-color .25s ease,
    background .25s ease,
    transform .25s ease;
}

.menu-close span{
  position:absolute;
  width:21px;
  height:2px;
  background:var(--white);
  border-radius:2px;
}

.menu-close span:first-child{
  transform:rotate(45deg);
}

.menu-close span:last-child{
  transform:rotate(-45deg);
}

.menu-close:hover{
  border-color:var(--gold);
  background:rgba(255,255,255,.06);
  transform:rotate(4deg);
}

.menu-brand{
  padding:18px 52px 28px 0;
  margin-bottom:20px;
  border-bottom:1px solid rgba(183,160,106,.34);
}

.menu-brand-icon{
  width:96px;
  height:96px;
  padding:17px;
  object-fit:contain;
  display:block;
  margin:0 0 10px;
  background:transparent;
  border:1.5px solid var(--gold);
  border-radius:50%;
}

.menu-brand-name{
  margin:0 0 2px;
  font-family:var(--heading-font);
  font-size:2rem;
  line-height:1;
  font-weight:600;
  color:var(--white);
}

.menu-brand-tagline{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:.84rem;
  letter-spacing:1.3px;
}

.menu-links{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.menu-links a{
  position:relative;
  display:block;
  padding:8px 0;
  font-family:var(--heading-font);
  font-size:2rem;
  line-height:1.05;
  font-weight:500;
  color:var(--white);
  text-decoration:none;
  transition:
    color .25s ease,
    transform .25s ease;
}

.menu-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:3px;
  width:0;
  height:1px;
  background:var(--gold);
  transition:width .3s ease;
}

.menu-links a:hover{
  color:var(--gold);
  transform:translateX(5px);
}

.menu-links a:hover::after{
  width:54px;
}

.menu-booking{
  margin-top:28px;
  padding-top:26px;
  border-top:1px solid rgba(183,160,106,.34);
}

.menu-book-btn{
  width:100%;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 30px;
  background:var(--gold);
  color:var(--olive-dark);
  border:2px solid var(--gold);
  border-radius:9px;
  font-family:var(--body-font);
  font-size:1.18rem;
  font-weight:800;
  letter-spacing:.8px;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(0,0,0,.17);
  transition:
    background .25s ease,
    color .25s ease,
    border-color .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}

.menu-book-btn:hover{
  background:var(--white);
  color:var(--olive);
  border-color:var(--white);
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.21);
}

.menu-book-note{
  margin:10px 0 0;
  color:rgba(255,255,255,.70);
  font-size:.9rem;
  text-align:center;
}

body.menu-open{
  overflow:hidden;
}

/* BUTTONS */
.btn{display:inline-block;padding:14px 30px;background:var(--olive);color:var(--white);text-decoration:none;border:1px solid var(--olive);border-radius:8px;font-weight:700;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;}
.btn.outline{background:transparent;color:var(--olive);}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.18);}
.btn.outline:hover{background:var(--olive);color:var(--white);}

/* HOMEPAGE HERO */
.hero-mockup{min-height:650px;padding:110px 7%;display:flex;align-items:center;background:linear-gradient(90deg,rgba(248,245,240,.98) 0%,rgba(248,245,240,.90) 38%,rgba(248,245,240,.35) 62%,rgba(248,245,240,.05) 100%),url('/assets/images/hero/restored-roots-hero.jpg');background-size:cover;background-position:center center;}
.hero-copy{max-width:570px;}
.hero-copy h1{margin-bottom:24px;font-family:var(--heading-font);font-size:clamp(3.5rem,6vw,5rem);line-height:.95;color:var(--olive);}
.hero-copy p{max-width:520px;margin-bottom:30px;font-size:1.25rem;}
.hero-buttons{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;}

/* INNER PAGE HERO */
.page-hero{min-height:430px;padding:105px 6%;display:flex;align-items:center;background:linear-gradient(90deg,rgba(41,48,31,.86),rgba(41,48,31,.60)),url('/assets/images/backgrounds/bread-water-mountain.jpg') center center/cover no-repeat;}
.page-hero .container{max-width:1050px;}
.page-tag{display:block;margin-bottom:12px;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;}
.page-hero h1{max-width:820px;margin-bottom:20px;font-family:var(--heading-font);font-size:clamp(3.4rem,6vw,5rem);line-height:1;color:var(--white);}
.page-hero .lead{max-width:720px;color:rgba(255,255,255,.92);font-size:1.2rem;line-height:1.75;}
.videos-hero,.music-hero{background:linear-gradient(90deg,rgba(41,48,31,.86),rgba(41,48,31,.56)),url('/assets/images/backgrounds/bread-water-mountain.jpg') center center/cover no-repeat;}

/* CONTACT PAGE HEADER */
.page-header{padding:78px 6% 72px;background:var(--sand-light);text-align:center;border-bottom:1px solid rgba(183,160,106,.22);}
.page-header-inner{width:90%;max-width:850px;margin:0 auto;}
.page-label{margin-bottom:10px;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;}
.page-header h1{margin-bottom:18px;font-family:var(--heading-font);font-size:clamp(3.3rem,6vw,4.8rem);line-height:1;color:var(--olive);}
.page-header p{max-width:720px;margin:0 auto;font-size:1.12rem;line-height:1.75;color:var(--text);}

/* RESTORATION STRIP */
.restoration-strip{display:grid;grid-template-columns:150px 1fr;gap:36px;align-items:center;padding:55px 8%;background:var(--sand-light);}
.strip-icon{display:flex;align-items:center;justify-content:center;}
.strip-icon img{width:125px;height:125px;object-fit:contain;margin:0 auto;}
.restoration-strip h2{margin-bottom:12px;font-family:var(--heading-font);font-size:2.6rem;color:var(--olive);}
.restoration-strip p{max-width:980px;}

/* PATHWAYS */
.pathways{display:grid;grid-template-columns:repeat(3,1fr);padding:55px 8%;background:var(--white);text-align:center;}
.pathway{padding:0 42px;border-right:1px solid var(--border);}
.pathway:last-child{border-right:none;}
.pathway h3{margin-bottom:10px;font-family:var(--heading-font);font-size:2.25rem;color:var(--olive);}

/* DIVIDERS */
.soft-divider{max-width:1200px;margin:0 auto;padding:0 6%;}
.soft-divider hr{height:1px;border:0;background:rgba(183,160,106,.18);}
.gold-divider-image,.section-divider-image,.blessing-divider img{display:block;height:auto;margin-left:auto;margin-right:auto;}
.section-divider{display:flex;align-items:center;justify-content:center;margin:18px auto 42px;}
.section-divider-image{width:264px;max-width:80%;}

/* FEATURED RESOURCES */
.featured-resources{padding:25px 6% 90px;background:var(--cream);}
.featured-resources h2{margin-bottom:45px;font-family:var(--heading-font);font-size:3rem;color:var(--olive);text-align:center;}
.featured-books{max-width:1100px;margin:0 auto;display:grid;gap:60px;}
.featured-book{display:grid;grid-template-columns:210px 1fr;gap:45px;align-items:center;}
.book-cover{width:210px;border-radius:10px;box-shadow:0 18px 35px rgba(0,0,0,.18);transition:transform .3s ease,box-shadow .3s ease;}
.book-cover:hover{transform:translateY(-6px);box-shadow:0 26px 48px rgba(0,0,0,.20);}
.book-info h3{margin-bottom:14px;font-family:var(--heading-font);font-size:2.2rem;color:var(--olive);}
.book-info p{max-width:680px;margin-bottom:22px;line-height:1.75;}
/* =====================================================
   COUNSELLING SERVICES
===================================================== */

.counselling-services{
  padding:95px 6%;
  background:var(--white);
  border-top:1px solid rgba(183,160,106,.16);
  border-bottom:1px solid rgba(183,160,106,.16);
}

.services-inner{
  width:100%;
  max-width:1150px;
  margin:0 auto;
}

.services-heading{
  max-width:760px;
  margin:0 auto 50px;
  text-align:center;
}

.services-heading .section-label{
  display:block;
  margin-bottom:10px;
  color:var(--gold);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
}

.services-heading h2{
  margin-bottom:18px;
  font-family:var(--heading-font);
  font-size:clamp(2.8rem,4.5vw,3.6rem);
  line-height:1.08;
  color:var(--olive);
}

.services-heading p{
  max-width:680px;
  margin:0 auto;
  font-size:1.08rem;
  line-height:1.75;
  color:var(--text);
}


/* SERVICE GRID */

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

.service-card{
  position:relative;
  min-height:260px;
  padding:34px 30px 32px;
  background:var(--sand-light);
  border:1px solid rgba(183,160,106,.25);
  border-top:3px solid var(--gold);
  border-radius:10px;
  box-shadow:0 12px 28px rgba(63,70,48,.07);
  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}

.service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(183,160,106,.45);
  box-shadow:0 18px 38px rgba(63,70,48,.12);
}

.service-card h3{
  margin-bottom:14px;
  font-family:var(--heading-font);
  font-size:2rem;
  line-height:1.12;
  color:var(--olive);
}

.service-card p{
  margin:0;
  font-size:1rem;
  line-height:1.72;
  color:var(--text);
}


/* BUTTONS BELOW SERVICES */

.services-action{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:44px;
}


/* MEET COUNSELLOR BUTTONS */

.meet-buttons{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:26px;
}


/* =====================================================
   COUNSELLING SERVICES RESPONSIVE
===================================================== */

@media(max-width:1000px){

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

}

@media(max-width:700px){

  .counselling-services{
    padding:75px 24px;
  }

  .services-heading{
    margin-bottom:38px;
  }

  .services-grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .service-card{
    min-height:0;
    padding:30px 25px;
  }

  .services-action{
    margin-top:35px;
  }

}

@media(max-width:520px){

.header-actions{
  gap:6px;
}

.header-book-btn{
  min-width:100px;
  min-height:44px;
  padding:7px 9px;
  font-size:.78rem;
  white-space:nowrap;
}

.menu-toggle{
  width:50px;
  height:50px;
}
 
  .services-heading h2{
    font-size:2.5rem;
  }

  .service-card h3{
    font-size:1.85rem;
  }

  .services-action,
  .meet-buttons{
    flex-direction:column;
    align-items:center;
  }

  .services-action .btn,
  .meet-buttons .btn{
    width:100%;
    max-width:280px;
    text-align:center;
  }

}

/* MEET THE COUNSELLOR */
.meet-counsellor{
  padding:85px 6%;
  background:var(--sand-light);
  border-top:1px solid rgba(183,160,106,.18);
  border-bottom:1px solid rgba(183,160,106,.18);
}
.meet-counsellor-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 260px;gap:70px;align-items:center;}
.meet-counsellor-content{max-width:760px;}
.meet-counsellor .section-label{display:block;margin-bottom:12px;color:var(--gold);font-size:.8rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;}
.meet-counsellor h2{margin-bottom:24px;font-family:var(--heading-font);font-size:clamp(2.4rem,4vw,3.2rem);line-height:1.1;color:var(--olive);}
.meet-counsellor p{margin-bottom:18px;font-size:1.08rem;line-height:1.8;}
.meet-counsellor .btn{margin-top:10px;}
.meet-counsellor-accent{display:flex;align-items:center;justify-content:center;}
.meet-counsellor-accent img{width:240px;max-width:100%;opacity:1;border-radius:14px;box-shadow:0 16px 34px rgba(63,70,48,.14);}

/* WHY RESTORED ROOTS */
.why-split{display:grid;grid-template-columns:1fr 1.35fr;align-items:center;overflow:hidden;background:var(--white);}
.why-split>div:first-child{max-width:720px;margin-left:auto;padding:70px calc(7% + 35px);}
.why-split h2{margin-bottom:20px;font-family:var(--heading-font);font-size:2.7rem;color:var(--olive);}
.why-split p{margin-bottom:18px;font-size:1.08rem;line-height:1.75;}
.landscape-panel{min-height:452px;background:url('/assets/images/backgrounds/bread-water-mountain.jpg') center center/cover no-repeat;}

/* GENERAL CONTENT */
.content-section{padding:70px 0;background:var(--white);}
.content-section h2{margin-bottom:20px;font-family:var(--heading-font);font-size:2.5rem;color:var(--olive);}
.content-section p{margin-bottom:18px;font-size:1.08rem;}

/* ABOUT PAGE */
.about-page .content-section{
  padding:64px 0;
}

.about-page .content-section.bg-light{
  background:var(--sand-light);
}

.about-page .section-label{
  display:block;
  margin:0 0 10px;
  color:var(--gold);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:3px;
  line-height:1.4;
  text-transform:uppercase;
}

.about-page .content-section h2{
  margin-bottom:22px;
  font-size:clamp(2.35rem,4vw,3rem);
  line-height:1.08;
}

.about-page .content-section p{
  max-width:900px;
  line-height:1.8;
}

.about-page .section-intro{
  margin-bottom:30px;
}

.about-page .values-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  margin-top:34px;
  align-items:stretch;
}

.about-page .value-card{
  min-width:0;
  padding:30px 28px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(183,160,106,.32);
  border-top:3px solid var(--gold);
  border-radius:10px;
  box-shadow:0 12px 30px rgba(63,70,48,.07);
}

.about-page .content-section:not(.bg-light) .value-card{
  background:var(--sand-light);
}

.about-page .value-card h3{
  margin:0 0 16px;
  color:var(--olive);
  font-family:var(--heading-font);
  font-size:1.55rem;
  line-height:1.2;
}

.about-page .value-card ul,
.about-page .credentials-list{
  margin:0;
  padding-left:21px;
}

.about-page .value-card li,
.about-page .credentials-list li{
  margin-bottom:9px;
  padding-left:3px;
  line-height:1.55;
}

.about-page .value-card li:last-child,
.about-page .credentials-list li:last-child{
  margin-bottom:0;
}

.about-page .credentials-list{
  max-width:780px;
  padding:28px 30px 28px 52px;
  background:var(--sand-light);
  border-left:3px solid var(--gold);
  border-radius:0 10px 10px 0;
  box-shadow:0 10px 26px rgba(63,70,48,.06);
}

.about-page .hero-buttons{
  justify-content:flex-start;
  margin-top:30px;
}

/* =====================================================
   MEDIA + NEWSLETTER
===================================================== */

.media-newsletter{
  display:grid;
  grid-template-columns:1.35fr .9fr;
  gap:42px;
  align-items:stretch;
  padding:90px 6%;
  background:var(--cream);
}

.featured-video-area,
.featured-reflection-area{
  min-width:0;
}

.media-newsletter h2{
  margin-bottom:10px;
  font-family:var(--heading-font);
  font-size:2.5rem;
  color:var(--olive);
  text-align:center;
}

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

.media-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:block;
  width:100%;
  aspect-ratio:2 / 3;
  min-height:0;
  padding:0;
  background:var(--olive-dark);
  color:var(--white);
  text-decoration:none;
  border:1px solid rgba(183,160,106,.20);
  border-radius:10px;
  box-shadow:0 14px 28px rgba(0,0,0,.12);
  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}

.media-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:var(--media-image);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:transform .45s ease;
}

.media-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    to top,
    rgba(41,48,31,.18),
    rgba(41,48,31,0) 50%
  );
  pointer-events:none;
}

/* The portrait artwork already includes visible titles.
   Keep span text available to screen readers without duplicating it visually. */
.media-card span{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.media-card:hover{
  transform:translateY(-4px);
  border-color:rgba(183,160,106,.45);
  box-shadow:0 20px 36px rgba(63,70,48,.16);
}

.media-card:hover::before{
  transform:scale(1.03);
}

.media-teaching{
  --media-image:url('/assets/images/media/teaching-videos.png');
}

.media-shorts{
  --media-image:url('/assets/images/media/shorts.png');
}

.media-songs{
  --media-image:url('/assets/images/media/song-videos.png');
}

.media-reflection{
  --media-image:url('/assets/images/media/reflection-video.png');
}

.media-worship{
  --media-image:url('/assets/images/media/worship-playlist.png');
}


/* =====================================================
   NEWSLETTER
===================================================== */

.newsletter-box.connection-card{
  position:relative;
}

.newsletter-box.connection-card::before{
  content:"";
  position:absolute;
  top:-180px;
  left:50%;
  z-index:10;
  width:86px;
  height:86px;
  padding:9px;
  background:
    url('/assets/images/logos/hamburger-icon.png')
    center / 68px auto no-repeat;
  border:1.5px solid var(--gold);
  border-radius:50%;
  box-shadow:0 9px 22px rgba(63,70,48,.08);
  transform:translateX(-50%);
  pointer-events:none;
}

.newsletter-box{
  width:100%;
  max-width:540px;
  min-height:0;
  position:relative;
  overflow:visible;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  align-self:start;
  margin:180px auto 0;
  padding:26px 28px 72px;
  background:var(--sand-light);
  border:1px solid rgba(183,160,106,.28);
  border-top:3px solid var(--gold);
  border-radius:12px;
  text-align:center;
  box-shadow:0 14px 34px rgba(63,70,48,.08);
  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.newsletter-box:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 42px rgba(63,70,48,.11);
}

.connection-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(
      to bottom,
      rgba(243,238,230,.68),
      rgba(243,238,230,.52)
    ),
    url('/assets/images/backgrounds/newsletter-connection.png')
    center center / cover no-repeat;
  opacity:.84;
  border-radius:inherit;
  pointer-events:none;
}

.newsletter-content{
  width:100%;
  position:relative;
  z-index:5;
}

.newsletter-box h2{
  margin:0 0 4px;
  font-family:var(--heading-font);
  font-size:2.05rem;
  line-height:1.05;
  font-weight:600;
  color:var(--olive);
}

.gold-divider{
  width:100%;
  position:relative;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:4px auto 10px;
}

.gold-divider-image{
  width:165px;
  max-width:80%;
  height:auto;
  object-fit:contain;
}

.newsletter-box p{
  max-width:330px;
  margin:0 auto 10px;
  color:var(--text);
  font-size:.96rem;
  line-height:1.55;
}

.newsletter-box form{
  position:relative;
  z-index:6;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.newsletter-box input{
  width:100%;
  max-width:330px;
  padding:11px 14px;
  background:var(--white);
  color:var(--text);
  border:1px solid rgba(63,70,48,.22);
  border-radius:6px;
  font-size:1rem;
  box-shadow:0 8px 18px rgba(63,70,48,.08);
}

.newsletter-box input:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(183,160,106,.16);
}

.newsletter-box .btn{
  min-width:140px;
  margin-top:0;
  padding:10px 24px;
}

/* CONTACT PAGE */
.contact-section{padding:85px 6% 100px;background:var(--white);}
.contact-container{width:100%;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start;}
.contact-copy h2{margin:0 0 24px;font-family:var(--heading-font);font-size:clamp(2.6rem,4vw,3.2rem);font-weight:500;line-height:1.1;color:var(--olive);}
.contact-copy>p{margin:0 0 30px;font-size:1.05rem;line-height:1.75;}
.contact-detail{margin-bottom:30px;font-size:1rem;line-height:1.7;}
.contact-detail strong{display:block;margin-bottom:3px;color:var(--olive);}
.contact-detail a{color:var(--olive);text-decoration:none;transition:color .25s ease;}
.contact-detail a:hover{color:var(--gold);}
.contact-notice{padding:24px;background:var(--cream);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;}
.contact-notice strong{display:block;margin-bottom:10px;color:var(--olive);}
.contact-notice p{margin:0 0 14px;line-height:1.7;}
.contact-notice p:last-child{margin-bottom:0;}
.contact-form{width:100%;padding:38px;background:var(--cream);border:1px solid rgba(183,160,106,.40);border-radius:10px;box-shadow:0 16px 36px rgba(63,70,48,.10);}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.form-group{display:flex;flex-direction:column;margin-bottom:22px;}
.form-group label{margin-bottom:8px;font-size:.95rem;font-weight:600;color:var(--olive);}
.form-group input,.form-group textarea{width:100%;padding:14px 15px;background:var(--white);color:var(--text);border:1px solid rgba(63,70,48,.35);border-radius:5px;font-family:var(--body-font);font-size:1rem;line-height:1.5;transition:border-color .25s ease,box-shadow .25s ease;}
.form-group textarea{min-height:180px;resize:vertical;}
.form-group input:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(183,160,106,.16);}
.contact-submit{display:inline-flex;align-items:center;justify-content:center;min-width:165px;padding:14px 28px;background:var(--olive);color:var(--white);border:1px solid var(--olive);border-radius:6px;font-family:var(--body-font);font-size:.95rem;font-weight:700;cursor:pointer;transition:background-color .25s ease,border-color .25s ease,transform .25s ease;}
.contact-submit:hover{background:var(--sage);border-color:var(--sage);transform:translateY(-2px);}

/* FINAL BLESSING */
.final-blessing{padding:130px 5% 120px;background:var(--sand-light);text-align:center;}
.blessing-divider{margin:0 auto 42px;}
.blessing-divider img{width:260px;max-width:85%;}
.final-blessing h2{margin-bottom:36px;font-family:var(--heading-font);font-size:clamp(3.15rem,5vw,4rem);font-style:italic;font-weight:600;line-height:1.05;color:var(--olive);}
.final-blessing .scripture{max-width:620px;margin:0 auto 18px;color:var(--text);font-size:1.08rem;line-height:1.85;}
.scripture-ref{margin-bottom:42px;color:var(--gold);font-size:.85rem;font-weight:700;letter-spacing:5px;text-transform:uppercase;}
.blessing-line{color:var(--olive);font-size:.9rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;}

/* FOOTER */
.site-footer{padding:55px 0 20px;background:var(--olive);color:var(--white);border-top:3px solid var(--gold);}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr .9fr 1.2fr;gap:55px;align-items:start;}
.footer-brand-column{padding-top:8px;text-align:center;}
.footer-brand-img{width:400px;max-width:none;margin:0 auto;filter:drop-shadow(0 6px 18px rgba(183,160,106,.16));}
.site-footer h3{margin-bottom:30px;font-family:var(--heading-font);font-size:2rem;color:var(--white);}
.site-footer h3::after{content:"";display:block;width:42px;height:2px;margin-top:10px;background:var(--gold);}
.site-footer ul{list-style:none;}
.site-footer li{margin-bottom:14px;}
.site-footer a{color:var(--white);text-decoration:none;transition:color .25s ease;}
.site-footer a:hover{color:var(--gold);}
.footer-column p{color:rgba(255,255,255,.88);line-height:1.8;}
.footer-bottom{margin-top:50px;padding-top:28px;border-top:1px solid rgba(183,160,106,.30);color:rgba(255,255,255,.68);font-size:.9rem;letter-spacing:.6px;text-align:center;}

/* FORMS */
button,
input,
textarea{
  font-family:var(--body-font);
}

/* ACCESSIBILITY */
a:focus,button:focus,input:focus,textarea:focus{outline:3px solid var(--gold);outline-offset:3px;}
::selection{background:var(--gold);color:var(--white);}

/* TABLET */
@media(max-width:900px){
  .nav{
    min-height:125px;
    flex-direction:row;
    gap:24px;
    padding:16px 0;
  }
  .logo{width:250px;}
  .menu-toggle{width:58px;height:58px;}
  .menu-panel{width:min(440px,94vw);}
  .hero-mockup{min-height:560px;padding:80px 6%;background-position:center right;}
  .hero-copy h1{font-size:3.5rem;}
  .page-hero{min-height:380px;padding:85px 6%;}
  .restoration-strip,.pathways,.featured-book,.why-split,.media-newsletter,.footer-grid,.contact-container{grid-template-columns:1fr;}
  .featured-book,.restoration-strip,.footer-grid{text-align:center;}
  .book-cover{width:100%;max-width:250px;margin:0 auto;}
  .book-info p,.footer-column p{margin-left:auto;margin-right:auto;}
  .pathway{padding:28px 0;border-right:none;border-bottom:1px solid var(--border);}
  .pathway:last-child{border-bottom:none;}
  .why-split>div:first-child{max-width:none;margin:0;padding:60px 40px;}
  .landscape-panel{min-height:320px;}
  .contact-container{gap:45px;}
  .contact-copy,.contact-form{max-width:750px;}
  .newsletter-box{max-width:540px;width:100%;margin:0 auto;overflow:hidden;}
  .newsletter-box.connection-card::before{display:none;}
  .about-page .values-grid{grid-template-columns:1fr;gap:20px;}
  .about-page .value-card{max-width:760px;width:100%;}
  .footer-brand-img{max-width:400px;width:100%;}
}

/* MOBILE */
@media(max-width:768px){
  .meet-counsellor{padding:65px 7%;}
  .meet-counsellor-inner{grid-template-columns:1fr;gap:35px;text-align:center;}
  .meet-counsellor-content{margin:0 auto;}
  .meet-buttons{justify-content:center;}
  .meet-counsellor-accent{order:-1;}
  .meet-counsellor-accent img{width:120px;}
  .page-header{padding:62px 6% 58px;}
  .contact-section{padding:65px 6% 80px;}
  .contact-form{padding:30px 24px;}
  .form-row{grid-template-columns:1fr;gap:0;}
  .media-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  .media-card{
    aspect-ratio:2 / 3;
  }
}

@media(max-width:520px){
  body{font-size:16px;}
  .logo{width:135px;}
  .nav{min-height:88px;padding:10px 0;}
  .menu-toggle{width:44px;height:44px;gap:5px;}
  .menu-toggle span{width:23px;}
  .menu-panel{width:100%;padding:34px 28px 32px;}
  .menu-close{top:22px;right:22px;}
  .menu-brand{padding-top:14px;}
  .menu-brand-icon{
    width:76px;
    height:76px;
    padding:13px;
  }
  .menu-links a{font-size:1.8rem;}
  .menu-book-btn{min-height:66px;font-size:1.08rem;}
  .hero-copy h1{font-size:3rem;}
  .hero-copy p{font-size:1.1rem;}
  .hero-buttons{flex-direction:column;}
  .btn{width:100%;max-width:280px;text-align:center;}
  .page-hero{min-height:340px;padding:70px 24px;}
  .page-hero h1{font-size:3rem;}
  .page-hero .lead{font-size:1.05rem;}
  .restoration-strip,.pathways,.featured-resources,.media-newsletter,.final-blessing{padding-left:24px;padding-right:24px;}
  .restoration-strip h2,.why-split h2,.media-newsletter h2{font-size:2.2rem;}
  .featured-resources h2{font-size:2.5rem;}
  .why-split>div:first-child{padding:50px 24px;}
  .page-header{padding:54px 24px 50px;}
  .page-header h1{font-size:3rem;}
  .page-header p{font-size:1.02rem;}
  .contact-section{padding:58px 24px 70px;}
  .contact-copy h2{font-size:2.35rem;}
  .contact-form{padding:25px 18px;}
  .contact-submit{width:100%;}
  .about-page .content-section{padding:48px 0;}
  .about-page .value-card{padding:25px 22px;}
  .about-page .credentials-list{padding:24px 22px 24px 42px;}
  .about-page .hero-buttons{align-items:flex-start;}
  .newsletter-box{min-height:0;padding:24px 18px 68px;}
  .newsletter-box h2{font-size:1.95rem;}
  .newsletter-box input{max-width:100%;}
  .final-blessing{padding-top:90px;padding-bottom:85px;}
  .final-blessing h2{font-size:2.4rem;}
  .gold-divider-image{width:180px;max-width:90%;}
  .section-divider-image{width:242px;max-width:90%;}
  .blessing-divider img{width:240px;max-width:90%;}

  .media-grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .media-card{
    width:100%;
    max-width:340px;
    margin:0 auto;
    aspect-ratio:2 / 3;
  }
}

/* =====================================================
   SONG VIDEOS PAGE
===================================================== */

.videos-page .section-label{
  display:block;
  margin:0 0 10px;
  color:var(--gold);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
}

.video-introduction{
  text-align:center;
}

.video-introduction p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

.song-video-section{
  padding:85px 5% 100px;
  background:var(--sand-light);
}

.song-video-container{
  max-width:920px;
}

.song-video-heading{
  margin-bottom:42px;
  text-align:center;
}

.song-video-heading h2{
  margin:0 0 8px;
  color:var(--olive);
  font-family:var(--heading-font);
  font-size:clamp(2.6rem,4vw,3.3rem);
  line-height:1.1;
}

.song-video-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
  width:100%;
  max-width:1250px;
  margin:0 auto;
}

.song-video-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  background:var(--white);
  border:1px solid rgba(183,160,106,.30);
  border-radius:12px;
  box-shadow:0 16px 36px rgba(63,70,48,.09);
  transition:transform .3s ease,box-shadow .3s ease;
}

.song-video-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 44px rgba(63,70,48,.13);
}

.song-video-frame{
  overflow:hidden;
  position:relative;
  width:100%;
  aspect-ratio:auto;
  background:var(--olive-dark);
  border-bottom:2px solid var(--gold);
}

.song-video-frame video{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:var(--olive-dark);
}

.song-video-copy{
  position:relative;
  flex:1;
  padding:27px 26px 30px;
}

.song-video-number{
  display:block;
  margin-bottom:7px;
  color:var(--gold);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:3px;
}

.song-video-copy h3{
  margin:0 0 10px;
  color:var(--olive);
  font-family:var(--heading-font);
  font-size:1.65rem;
  line-height:1.15;
}

.song-video-copy p{
  margin:0;
  color:var(--text);
  font-size:.96rem;
  line-height:1.6;
}

.song-purchase{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(183,160,106,.28);
}

.song-price{
  color:var(--olive);
  font-weight:700;
  white-space:nowrap;
}

.song-purchase-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 17px;
  border:1px solid var(--olive);
  border-radius:5px;
  background:var(--olive);
  color:var(--white);
  font-size:.88rem;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}

.song-purchase-button:hover{
  background:var(--gold);
  color:var(--olive-dark);
  transform:translateY(-2px);
}

.song-purchase-coming-soon{
  justify-content:center;
  color:var(--sage);
  font-size:.88rem;
  font-weight:600;
  letter-spacing:.3px;
}

.video-newsletter-section{
  padding:90px 5%;
  background:var(--cream);
}

.video-newsletter-section .newsletter-box{
  margin:0 auto;
  overflow:hidden;
}

.video-newsletter-section .newsletter-box.connection-card::before{
  display:none;
}

@media(max-width:900px){
  .song-video-grid{grid-template-columns:1fr;max-width:620px;gap:32px;}
  .song-video-card{width:100%;}
}

@media(max-width:520px){
  .song-video-section{padding:65px 24px 75px;}
  .song-video-heading{margin-bottom:30px;}
  .song-video-copy{padding:23px 20px 25px;}
  .song-video-copy h3{font-size:1.5rem;}
  .video-newsletter-section{padding:65px 24px;}
}

/* =====================================================
   BLOG + COMMENT MANAGEMENT
===================================================== */

.blog-hero{
  background:
    linear-gradient(90deg,rgba(41,48,31,.86),rgba(41,48,31,.48)),
    url('/assets/images/backgrounds/bread-water-mountain.jpg') center 58% / cover no-repeat;
}

.blog-content-section,
.blog-admin-section{
  padding:80px 0 95px;
  background:var(--cream);
}

.blog-container{
  max-width:900px;
}

.blog-article{
  overflow:hidden;
  background:var(--white);
  border:1px solid rgba(183,160,106,.28);
  border-top:3px solid var(--gold);
  border-radius:12px;
  box-shadow:0 16px 38px rgba(63,70,48,.09);
}

.blog-article-header{
  padding:44px 48px 30px;
  background:var(--sand-light);
  border-bottom:1px solid rgba(183,160,106,.22);
}

.blog-category,
.blog-page .section-label,
.admin-status-label{
  display:block;
  margin-bottom:9px;
  color:var(--gold);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
}

.blog-article h2,
.blog-comments h2,
.blog-admin-card h2{
  margin:0 0 10px;
  color:var(--olive);
  font-family:var(--heading-font);
  font-size:clamp(2rem,4vw,2.75rem);
  line-height:1.1;
}

.blog-meta{
  margin:0;
  color:var(--sage);
  font-size:.96rem;
}

.blog-article-body{
  padding:38px 48px 44px;
}

.blog-article-body p{
  margin:0 0 20px;
  font-size:1.08rem;
  line-height:1.8;
}

.blog-article-body p:last-child{
  margin-bottom:0;
}

.blog-article-body .blog-lead{
  margin-bottom:30px;
  color:var(--olive-dark);
  font-family:var(--heading-font);
  font-size:1.35rem;
  font-style:italic;
  line-height:1.55;
  text-align:center;
}

.blog-article-body h3{
  margin:38px 0 14px;
  color:var(--olive);
  font-family:var(--heading-font);
  font-size:1.85rem;
  line-height:1.15;
}

.blog-pullquote{
  margin:32px 0;
  padding:25px 30px;
  background:var(--sand-light);
  color:var(--olive);
  border-left:3px solid var(--gold);
  border-radius:0 8px 8px 0;
  font-family:var(--heading-font);
  font-size:1.45rem;
  font-weight:600;
  line-height:1.45;
  text-align:center;
}

.blog-reflection{
  margin-top:42px;
  padding:28px 32px;
  background:var(--sand-light);
  border:1px solid rgba(183,160,106,.30);
  border-top:3px solid var(--gold);
  border-radius:9px;
}

.blog-reflection h3{
  margin:0 0 16px;
  font-size:1.6rem;
}

.blog-reflection ul{
  margin:0;
  padding-left:22px;
}

.blog-reflection li{
  margin-bottom:9px;
  line-height:1.6;
}

.blog-reflection li:last-child{
  margin-bottom:0;
}

.blog-comments{
  margin-top:52px;
  padding:42px 46px 46px;
  background:var(--white);
  border:1px solid rgba(183,160,106,.28);
  border-radius:12px;
  box-shadow:0 14px 34px rgba(63,70,48,.07);
}

.blog-comments-heading{
  margin-bottom:28px;
}

.blog-notice{
  margin:0 0 24px;
  padding:16px 18px;
  border-radius:7px;
  line-height:1.55;
}

.blog-notice ul{
  margin:0;
  padding-left:20px;
}

.blog-notice-success{
  background:rgba(123,131,104,.13);
  color:var(--olive-dark);
  border-left:3px solid var(--sage);
}

.blog-notice-error{
  background:rgba(139,74,63,.09);
  color:#6f352e;
  border-left:3px solid #9c5b50;
}

.comment-list{
  display:grid;
  gap:16px;
  margin-bottom:34px;
}

.comment-card{
  padding:22px 24px;
  background:var(--sand-light);
  border-left:3px solid var(--gold);
  border-radius:0 8px 8px 0;
}

.comment-card-header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
  margin-bottom:9px;
}

.comment-card-header strong{
  color:var(--olive);
  font-family:var(--heading-font);
  font-size:1.25rem;
}

.comment-card-header time{
  color:var(--sage);
  font-size:.82rem;
}

.comment-card p{
  margin:0;
  line-height:1.65;
}

.no-comments,
.comments-closed{
  margin:0 0 28px;
  color:var(--sage);
  font-style:italic;
}

.comments-closed{
  padding:20px;
  background:var(--sand-light);
  border-radius:8px;
  text-align:center;
}

.comment-form{
  margin-top:30px;
  padding-top:30px;
  border-top:1px solid rgba(183,160,106,.28);
}

.comment-form .form-group{
  max-width:100%;
}

.comment-form textarea{
  min-height:150px;
}

.comment-guidance{
  max-width:650px;
  margin:-4px 0 20px;
  color:var(--sage);
  font-size:.9rem;
  line-height:1.55;
}

.comment-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

.blog-admin-page .page-header{
  background:var(--sand-light);
}

.blog-admin-card,
.blog-admin-toolbar,
.admin-comment-card{
  background:var(--white);
  border:1px solid rgba(183,160,106,.28);
  border-radius:10px;
  box-shadow:0 12px 30px rgba(63,70,48,.07);
}

.blog-admin-card{
  padding:34px;
}

.blog-admin-card form{
  max-width:600px;
  margin-top:25px;
}

.blog-admin-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-bottom:30px;
  padding:24px 28px;
}

.admin-status-label{
  margin-bottom:4px;
}

.admin-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--olive);
  font-size:1.1rem;
}

.admin-status::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--sage);
}

.admin-status.is-closed::before{
  background:#9c5b50;
}

.blog-admin-actions,
.admin-comment-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.blog-admin-actions .btn{
  width:auto;
  min-width:150px;
}

.blog-admin-list{
  display:grid;
  gap:18px;
}

.admin-comment-card{
  padding:26px 28px;
}

.admin-comment-card header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}

.admin-comment-card header strong,
.admin-comment-card header time{
  display:block;
}

.admin-comment-card header strong{
  color:var(--olive);
  font-family:var(--heading-font);
  font-size:1.3rem;
}

.admin-comment-card header time{
  color:var(--sage);
  font-size:.84rem;
}

.admin-comment-card > p{
  margin:0 0 20px;
  line-height:1.65;
}

.comment-status{
  padding:5px 10px;
  border-radius:999px;
  background:var(--sand-light);
  color:var(--olive);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.status-pending{background:rgba(183,160,106,.18);}
.status-approved{background:rgba(123,131,104,.16);}
.status-hidden{background:rgba(139,74,63,.10);}

.comment-action{
  padding:8px 14px;
  background:transparent;
  border:1px solid var(--border);
  border-radius:5px;
  color:var(--olive);
  font-weight:700;
  cursor:pointer;
}

.comment-action:hover{
  border-color:var(--gold);
  background:var(--sand-light);
}

.comment-action.delete{
  color:#7a3e36;
}

@media(max-width:700px){
  .blog-content-section,
  .blog-admin-section{padding:58px 0 70px;}
  .blog-article-header,
  .blog-article-body,
  .blog-comments{padding-left:24px;padding-right:24px;}
  .blog-pullquote{padding:22px 20px;font-size:1.3rem;}
  .blog-reflection{padding:24px 21px;}
  .blog-comments{margin-top:34px;padding-top:32px;padding-bottom:34px;}
  .comment-card-header,
  .blog-admin-toolbar,
  .admin-comment-card header{align-items:flex-start;flex-direction:column;}
  .blog-admin-actions{width:100%;}
  .blog-admin-actions form{width:100%;}
  .blog-admin-actions .btn{width:100%;max-width:none;}
  .blog-admin-card,.admin-comment-card{padding:24px 20px;}
}

/* =====================================================
   RESOURCES PAGE
===================================================== */

.resources-hero{
  background:
    linear-gradient(
      90deg,
      rgba(41,48,31,.86),
      rgba(41,48,31,.56)
    ),
    url('/assets/images/backgrounds/bread-water-mountain.jpg')
    center center / cover no-repeat;
}


/* RESOURCE LIBRARY */

.resources-library{
  padding:85px 6% 100px;
  background:var(--cream);
}

.resources-container{
  width:100%;
  max-width:1150px;
  margin:0 auto;
}

.resources-heading{
  text-align:center;
  margin-bottom:45px;
}

.resources-heading h2{
  font-family:var(--heading-font);
  font-size:clamp(2.7rem,4vw,3.4rem);
  line-height:1.1;
  color:var(--olive);
}


/* RESOURCE GRID */

.resource-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px;
  align-items:stretch;
}


/* RESOURCE CARD */

.resource-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  background:var(--white);
  border:1px solid rgba(183,160,106,.22);
  border-radius:12px;
  box-shadow:0 14px 34px rgba(63,70,48,.08);
  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.resource-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 45px rgba(63,70,48,.13);
}


/* RESOURCE IMAGE */

.resource-card-image{
  width:100%;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:var(--sand-light);
}

.resource-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}


/* COMING SOON PLACEHOLDER */

.resource-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(
      rgba(63,70,48,.12),
      rgba(63,70,48,.12)
    ),
    var(--sand-light);
}

.resource-placeholder span{
  font-family:var(--heading-font);
  font-size:2rem;
  font-style:italic;
  color:var(--olive);
}


/* RESOURCE CONTENT */

.resource-card-content{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:28px;
}

.resource-type{
  display:block;
  margin-bottom:10px;
  color:var(--gold);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
}

.resource-card h3{
  margin-bottom:15px;
  font-family:var(--heading-font);
  font-size:2rem;
  line-height:1.12;
  color:var(--olive);
}

.resource-card p{
  margin-bottom:25px;
  line-height:1.72;
  color:var(--text);
}

.resource-card .btn{
  margin-top:auto;
}

.resource-coming-soon{
  margin-top:auto;
  padding:9px 16px;
  color:var(--olive);
  background:var(--sand-light);
  border-radius:20px;
  font-size:.85rem;
  font-weight:700;
}


/* =====================================================
   RESOURCE CATEGORIES
===================================================== */

.resource-categories{
  padding:90px 6%;
  background:var(--white);
}

.resource-categories .section-label{
  display:block;
  margin-bottom:8px;
  color:var(--gold);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
}

.category-grid{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}

.category-card{
  padding:35px 30px;
  text-align:center;
  background:var(--sand-light);
  border-radius:10px;
  border-top:3px solid var(--gold);
}

.category-card h3{
  margin-bottom:12px;
  font-family:var(--heading-font);
  font-size:2rem;
  line-height:1.1;
  color:var(--olive);
}

.category-card p{
  line-height:1.7;
}


/* =====================================================
   RESOURCE RESPONSIVE
===================================================== */

@media(max-width:900px){

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

  .category-grid{
    grid-template-columns:1fr;
    max-width:700px;
  }

}

@media(max-width:600px){

  .resources-library{
    padding:65px 24px 75px;
  }

  .resource-grid{
    grid-template-columns:1fr;
    max-width:430px;
    margin:0 auto;
  }

  .resource-card-content{
    padding:25px 22px;
  }

  .resource-card h3{
    font-size:1.9rem;
  }

  .resource-categories{
    padding:70px 24px;
  }

}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;}
}
