/* Well Worship — shared site styles */
:root{
  --paper:#faf8f3;
  --ink:#0c0c0a;
  --maxw:1240px;
  --local-bg:#faf8f3;
  --local-surface:#faf8f3;
  --local-surface-2:#f0ede3;
  --local-fg:#0c0c0a;
  --local-ash:#6b6960;
  --local-line:#dedacd;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper); color:var(--ink); font-family:'League Spartan', sans-serif; font-weight:400; line-height:1.6; -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:inherit;}
.eyebrow{font-weight:600; letter-spacing:.24em; text-transform:uppercase; font-size:.72rem; color:var(--local-ash);}
h1,h2,h3{font-family:'League Spartan', sans-serif; font-weight:700; letter-spacing:-.01em; line-height:1.08;}
section{position:relative; background:var(--local-bg); color:var(--local-fg);}
.on-dark{
  --local-bg:#0c0c0a;
  --local-surface:#0c0c0a;
  --local-surface-2:#181815;
  --local-fg:#faf8f3;
  --local-ash:#a6a498;
  --local-line:#302f2a;
}

.p-link{
  font-weight:600; font-size:.92rem; text-decoration:none; color:var(--local-fg);
  letter-spacing:.01em; border-bottom:1px solid transparent; transition:border-color .2s, opacity .2s;
}
.p-link:hover{border-color:var(--local-fg);}

.stack{font-family:'League Spartan', sans-serif; font-weight:700; line-height:.86; letter-spacing:-.01em;}
.stack div{font-size:clamp(2.6rem,9vw,6.4rem);}

/* NAV */
header.site-nav{position:fixed; top:0; left:0; right:0; z-index:50; background:rgba(12,12,10,.8); backdrop-filter:blur(10px); border-bottom:1px solid #302f2a;}
.nav-inner{max-width:var(--maxw); margin:0 auto; padding:16px 40px; display:flex; align-items:center; justify-content:space-between;}
.nav-mark img{height:30px; width:auto;}
.nav-links{display:flex; gap:24px; list-style:none; font-weight:500; font-size:.78rem; letter-spacing:.03em;}
.nav-links a{text-decoration:none; color:#faf8f3; opacity:.6; transition:opacity .2s;}
.nav-links a:hover, .nav-links a.active{opacity:1;}
.nav-cta{font-weight:600; font-size:.76rem; letter-spacing:.04em; color:#faf8f3; text-decoration:none; border-bottom:1px solid #faf8f3; padding-bottom:2px;}
.hamburger{display:none; flex-direction:column; justify-content:center; gap:5px; width:28px; height:22px; background:none; border:none; cursor:pointer; padding:0;}
.hamburger span{display:block; width:100%; height:2px; background:#faf8f3; transition:transform .25s, opacity .25s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-only{display:none;}
@media (max-width:860px){
  .nav-inner{position:relative;}
  .hamburger{display:flex;}
  .nav-links{
    display:none; flex-direction:column; gap:0;
    position:absolute; top:100%; left:0; right:0;
    background:#0c0c0a; border-bottom:1px solid #302f2a;
    padding:6px 40px 18px; max-height:80vh; overflow-y:auto;
  }
  .nav-links.open{display:flex;}
  .nav-links li{border-top:1px solid #302f2a;}
  .nav-links a{display:block; padding:16px 4px; opacity:1; font-size:.9rem;}
  .mobile-only{display:list-item;}
  .mobile-only a{font-weight:700;}
  .nav-cta{display:none;}
}

/* PAGE HERO (used on every inner page) */
.page-hero{padding:170px 40px 90px; text-align:center;}
.page-hero .eyebrow{color:#a6a498; display:block; margin-bottom:18px;}
.page-hero h1{font-family:'Newsreader',serif; font-weight:300; font-style:italic; font-size:clamp(2.2rem,5vw,3.6rem); line-height:1.1;}
.page-hero p{max-width:560px; margin:22px auto 0; color:#a6a498; font-size:1rem;}

/* HOME HERO */
.hero{min-height:100vh; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;}
.hero-bg-carousel{position:absolute; inset:0; z-index:0;}
.hero-bg-carousel img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.1); opacity:0; animation:heroFade 20s infinite;}
.hero-bg-carousel img:nth-child(1){animation-delay:0s;}
.hero-bg-carousel img:nth-child(2){animation-delay:5s;}
.hero-bg-carousel img:nth-child(3){animation-delay:10s;}
.hero-bg-carousel img:nth-child(4){animation-delay:15s;}
.hero-bg-carousel::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(12,12,10,.6) 0%, rgba(12,12,10,.5) 50%, rgba(12,12,10,.78) 100%);}
@media (prefers-reduced-motion: reduce){
  .hero-bg-carousel img{animation:none; opacity:0;}
  .hero-bg-carousel img:first-child{opacity:1;}
}
.hero-inner{position:relative; z-index:2; padding:140px 40px 90px; max-width:900px; margin:0 auto; text-align:center;}
@keyframes heroFade{
  0%{opacity:0;}
  4%{opacity:1;}
  21%{opacity:1;}
  25%{opacity:0;}
  100%{opacity:0;}
}
.hero-logo{height:40px; width:auto; margin:0 auto 34px;}
.hero-caps{font-family:'League Spartan', sans-serif; font-weight:800; text-transform:uppercase; font-size:clamp(2.2rem,6vw,4rem); line-height:1.12; letter-spacing:.01em; color:#faf8f3;}
.hero .lede{max-width:480px; margin:28px auto 0; color:#d8d6cc; font-size:.98rem;}
.btn-row{display:flex; gap:28px; justify-content:center; flex-wrap:wrap; margin-top:34px;}
@media (max-width:700px){.hero-inner{padding:120px 24px 70px;}}
@media (max-width:700px){.hero-inner{padding:140px 20px 70px;}}

.script-accent{font-family:'Parisienne', cursive; font-weight:400; line-height:1.05; font-size:clamp(3rem,8vw,5.5rem); display:block;}

.milestone-inline{max-width:560px; margin:0 auto; text-align:center; font-size:.86rem; color:var(--local-ash); border-top:1px solid var(--local-line); border-bottom:1px solid var(--local-line); padding:20px 0;}
.milestone-inline strong{color:var(--local-fg);}

/* color override (no grayscale) for specified images/sections */
.color img, img.color, .arm-media-col.color img{filter:none !important;}

/* inline date next to journey item names */
.journey-tags li{display:flex; justify-content:space-between; gap:16px;}
.journey-tags .jdate{font-size:.72rem; color:var(--local-ash); flex-shrink:0;}

/* last updated note */
.last-updated{text-align:center; font-size:.72rem; color:var(--local-ash); margin-top:16px;}

/* board page */
.board-head{max-width:680px; margin:0 auto 60px; text-align:center;}
.board-head h2{font-family:'Newsreader',serif; font-weight:300; font-style:italic; font-size:clamp(1.7rem,3.2vw,2.2rem); margin-top:14px;}
.board-grid{max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--local-line); border:1px solid var(--local-line);}
.board-card{background:var(--local-bg); padding:0;}
.board-card img{width:100%; aspect-ratio:4/5; object-fit:cover;}
.board-card .board-body{padding:26px 24px;}
.board-card h3{font-size:1.1rem; margin-bottom:4px;}
.board-card .role{font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--local-ash); margin-bottom:12px; display:block;}
.board-card p{font-size:.9rem; color:var(--local-ash); line-height:1.6;}
@media (max-width:860px){.board-grid{grid-template-columns:1fr;}}

.duo{max-width:var(--maxw); margin:0 auto; padding:0 40px 100px; display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.duo img{width:100%; aspect-ratio:4/5; object-fit:cover;}
@media (max-width:700px){.duo{grid-template-columns:1fr; padding:0 24px 70px;}}

/* generic plain section */
.plain{padding:100px 40px;}
.plain-inner{max-width:var(--maxw); margin:0 auto;}
.plain-head{max-width:640px; margin-bottom:56px;}
.plain-head h2{font-family:'Newsreader',serif; font-weight:300; font-style:italic; font-size:clamp(1.6rem,3vw,2.1rem); margin-top:10px;}
.plain-head.center{margin-left:auto; margin-right:auto; text-align:center;}

/* teaser cards (homepage summary of expressions) */
.teaser-grid{max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--local-line); border:1px solid var(--local-line);}
.teaser-card{background:var(--local-bg); padding:0; text-decoration:none; color:var(--local-fg); display:block; transition:opacity .2s;}
.teaser-card:hover{opacity:.85;}
.teaser-card .t-photo{aspect-ratio:4/5; overflow:hidden;}
.teaser-card .t-photo img{width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.08);}
.teaser-card .t-photo .arm-media-empty{width:100%; height:100%;}
.teaser-card .t-body{padding:24px;}
.teaser-card .t-num{font-size:.66rem; letter-spacing:.14em; text-transform:lowercase; color:var(--local-ash); font-weight:700;}
.teaser-card h3{font-size:1.05rem; margin:10px 0 8px;}
.teaser-card p{font-size:.86rem; color:var(--local-ash);}
@media (max-width:900px){.teaser-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.teaser-grid{grid-template-columns:1fr;}}

/* arm / expression detail block */
.arm{padding:90px 40px; border-top:1px solid var(--local-line);}
@media (max-width:700px){.arm{padding:50px 24px;}}
.arm-grid{max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center;}
.arm.reverse .arm-grid{grid-template-columns:.85fr 1.15fr;}
.arm.reverse .arm-media-col{order:2;}
.arm.reverse .arm-text-col{order:1;}

.arm-media-col{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:80px; gap:10px;}
.arm-media-col img, .arm-media-col .arm-media-empty{width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.08);}
.m-a{grid-column:1/5; grid-row:1/6;}
.m-b{grid-column:5/7; grid-row:1/4;}
.m-c{grid-column:5/7; grid-row:4/6;}
.arm-media-empty{background:var(--local-surface-2); border:1px dashed var(--local-line); display:flex; align-items:center; justify-content:center; font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; color:var(--local-ash); text-align:center; padding:8px;}

.arm-text-col .num{font-weight:700; font-size:.7rem; letter-spacing:.16em; color:var(--local-ash); text-transform:uppercase;}
.arm-text-col h2, .arm-text-col h3{font-size:clamp(1.7rem,3vw,2.3rem); margin:14px 0 16px;}
.arm-text-col p{font-size:1rem; max-width:460px; margin-bottom:22px;}
@media (max-width:860px){
  .arm-grid, .arm.reverse .arm-grid{grid-template-columns:1fr; gap:28px;}
  .arm.reverse .arm-media-col{order:1;} .arm.reverse .arm-text-col{order:2;}
  .arm-media-col{grid-auto-rows:60px;}
}

.journey-tags{list-style:none; margin:22px 0 24px; display:flex; flex-wrap:wrap; gap:10px 0; flex-direction:column;}
.journey-tags li{font-size:.92rem; padding:8px 0; border-bottom:1px solid var(--local-line); max-width:420px;}
.journey-tags li:first-child{border-top:1px solid var(--local-line);}

.stat-row{display:flex; gap:30px; flex-wrap:wrap; padding-top:20px; border-top:1px solid var(--local-line); margin-top:6px; margin-bottom:22px;}
.stat-row .n{font-weight:700; font-size:1.5rem;}
.stat-row .l{font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; color:var(--local-ash); margin-top:2px; max-width:130px;}

/* featured stories */
.featured-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--local-line); border:1px solid var(--local-line); margin-top:24px;}
.featured-card{background:var(--local-bg); padding:44px;}
.featured-card .tag{font-weight:700; font-size:.66rem; letter-spacing:.14em; text-transform:lowercase; color:var(--local-ash);}
.featured-card h3{font-size:1.3rem; margin:12px 0 12px;}
.featured-card p{font-size:.94rem; color:var(--local-ash); line-height:1.65;}
@media (max-width:760px){.featured-grid{grid-template-columns:1fr;}}

/* campaign block (Moonlight / Library) */
.campaign-inner{max-width:760px; margin:0 auto;}
.campaign-inner .tag{font-weight:700; font-size:.66rem; letter-spacing:.14em; text-transform:lowercase; color:var(--local-ash);}
.campaign-inner .cmedia{aspect-ratio:21/9; margin:18px 0 24px;}
.campaign-inner h3{font-size:1.6rem; margin-bottom:14px;}
.campaign-inner p{font-size:1rem; color:var(--local-ash); margin-bottom:20px; line-height:1.65; max-width:600px;}
.campaign-btns{display:flex; gap:24px; flex-wrap:wrap;}
.btn-solid{display:inline-block; font-weight:600; font-size:.82rem; text-decoration:none; color:var(--local-bg); background:var(--local-fg); padding:14px 26px; letter-spacing:.03em;}

/* songs */
.song-list{max-width:var(--maxw); margin:0 auto;}
.song-item{display:grid; grid-template-columns:180px 1fr; gap:30px; align-items:center; padding:30px 0; border-top:1px solid var(--local-line);}
.song-item:last-child{border-bottom:1px solid var(--local-line);}
.song-item .cover{aspect-ratio:1/1; width:100%; object-fit:cover;}
.song-item h3{font-size:1.2rem; font-weight:600; text-transform:lowercase; margin-bottom:8px;}
.song-item p{color:var(--local-ash); font-size:.94rem; max-width:420px; margin-bottom:12px;}
@media (max-width:600px){.song-item{grid-template-columns:110px 1fr;}}

/* merch */
.merch-grid{max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.merch-grid .arm-media-empty{aspect-ratio:3/4;}
@media (max-width:760px){.merch-grid{grid-template-columns:1fr 1fr;}}

/* impact stats */
.impact-dark{padding:120px 40px;}
.impact-head{max-width:640px; margin:0 auto 60px; text-align:center;}
.impact-dark h2{font-family:'Newsreader',serif; font-weight:300; font-style:italic; font-size:clamp(1.8rem,3.4vw,2.4rem); margin-top:14px;}
.impact-row{max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--local-line);}
.impact-item{padding:28px 16px 0; border-right:1px solid var(--local-line);}
.impact-item:last-child{border-right:none;}
.impact-item .n{font-size:2.2rem; font-weight:700;}
.impact-item .l{font-size:.62rem; letter-spacing:.05em; text-transform:uppercase; color:var(--local-ash); margin-top:8px; line-height:1.4;}
.impact-close{max-width:640px; margin:60px auto 0; text-align:center;}
.impact-close p{font-family:'Newsreader',serif; font-style:italic; font-size:1.15rem; color:var(--local-ash);}
@media (max-width:760px){.impact-row{grid-template-columns:1fr 1fr;} .impact-item{border-bottom:1px solid var(--local-line); padding-bottom:20px;}}

/* wells in scripture */
.wells-list{max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:50px;}
.well-item{border-top:1px solid var(--local-fg); padding-top:18px;}
.well-item .num{font-weight:700; font-size:.68rem; letter-spacing:.14em; color:var(--local-ash);}
.well-item h3{font-size:1.1rem; margin:10px 0 8px;}
.well-item p{font-size:.94rem; color:var(--local-ash);}
.well-item .ref{display:block; margin-top:12px; font-weight:600; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--local-ash);}
@media (max-width:760px){.wells-list{grid-template-columns:1fr; gap:30px;}}

/* story */
.story-grid{max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center;}
.story-photo img{width:100%; aspect-ratio:4/5; object-fit:cover; filter:grayscale(1) contrast(1.05);}
@media (max-width:860px){.story-grid{grid-template-columns:1fr; gap:36px;}}

/* be part / closing */
.bepart{padding:120px 40px; text-align:center;}
.bepart-inner{max-width:680px; margin:0 auto;}
.bepart .eyebrow{color:#a6a498;}
.bepart .lines{margin:26px 0; font-size:1rem; color:#d8d6cc;}
.bepart p.lede{color:#a6a498; font-size:1rem; margin-bottom:10px;}
.bepart-stack{margin:44px 0 10px;}
.script-line{font-family:'Dancing Script', cursive; font-weight:700; font-size:clamp(3.2rem,9vw,5.5rem); color:#faf8f3; margin:34px 0 10px; text-align:center; width:100%;}
.milestone{display:inline-block; margin-top:34px; padding:16px 26px; border:1px solid #333330; font-size:.82rem; color:#d8d6cc;}
.milestone strong{color:#faf8f3;}

/* 3-card grid (get involved etc) */
.cards-3{max-width:var(--maxw); margin:0 auto; padding:80px 40px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--local-line); border:1px solid var(--local-line);}
.card-3{background:var(--local-bg); padding:40px 34px;}
.card-3 h3{font-size:1.15rem; margin-bottom:12px;}
.card-3 p{font-size:.92rem; color:var(--local-ash); margin-bottom:22px; line-height:1.6;}
@media (max-width:860px){.cards-3{grid-template-columns:1fr;}}

/* contact form */
.form-wrap{max-width:640px; margin:0 auto;}
.form-row{margin-bottom:22px;}
.form-row label{display:block; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--local-ash); margin-bottom:8px; font-weight:600;}
.form-row input, .form-row select, .form-row textarea{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--local-line);
  padding:10px 2px; font-family:'League Spartan',sans-serif; font-size:1rem; color:var(--local-fg);
}
.form-row select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  padding-right:28px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b6960' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 4px center;
}
.form-row select option{background:var(--local-bg); color:var(--local-fg);}
.form-row textarea{resize:vertical; min-height:100px;}
.form-submit{margin-top:10px; display:inline-block; font-weight:600; font-size:.82rem; text-decoration:none; color:var(--local-bg); background:var(--local-fg); padding:14px 30px; border:none; cursor:pointer; letter-spacing:.03em;}

.give-choices{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:26px;}
.give-choice{display:inline-block; font-weight:600; font-size:.85rem; text-decoration:none; color:var(--local-fg); border:1px solid var(--local-fg); padding:14px 28px; transition:background .2s, color .2s;}
.give-choice:hover{background:var(--local-fg); color:var(--local-bg);}

/* FOOTER */
footer{padding:70px 40px 34px; background:var(--local-bg); color:var(--local-fg);}
.footer-inner{max-width:var(--maxw); margin:0 auto;}
.footer-top{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-bottom:40px; border-bottom:1px solid var(--local-line);}
.footer-brand img{height:26px; margin-bottom:16px;}
.footer-brand p{color:var(--local-ash); font-size:.9rem; max-width:320px; line-height:1.6;}
.footer-cols{display:flex; gap:56px; flex-wrap:wrap;}
.footer-col h4{font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--local-ash); margin-bottom:14px;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:9px;}
.footer-col a{text-decoration:none; font-size:.88rem; }
.footer-bottom{display:flex; justify-content:space-between; padding-top:26px; flex-wrap:wrap; gap:12px; font-size:.72rem; color:var(--local-ash);}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;} *{transition:none !important;}}
