:root{--cream:#fafbf9;--ink:#243c35;--red:#8e392f;--line:#e1e5e2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.7 'PT Serif',Georgia,serif}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--red)}header{max-width:1320px;margin:auto;padding:28px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{font:32px 'PT Serif',Georgia,serif;text-decoration:none;white-space:nowrap}.brand span{display:block;font:9px/2.8 'PT Serif',Georgia,serif;letter-spacing:1.8px}nav{display:flex;gap:24px;font-size:15px}nav a{text-decoration:none}.skip{position:absolute;left:-9999px}.skip:focus{left:0;background:white;z-index:10}h1,h2,blockquote{font-family:'PT Serif',Georgia,serif;font-weight:400;line-height:1.05}h1{font-size:clamp(50px,6.2vw,88px);margin:20px 0 25px;letter-spacing:-2px}h2{font-size:48px;margin:16px 0 25px}em{color:var(--red);font-weight:400}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px}.hero{max-width:1320px;margin:auto;padding:70px 70px 85px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:65px}.intro{font-size:19px;max-width:560px;line-height:1.7}.actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.button{display:inline-block;background:var(--ink);color:white;padding:14px 21px;text-decoration:none;font-size:14px;border:1px solid var(--ink)}.button:hover{background:var(--red);color:white}.outline{background:transparent;color:var(--ink)}.radiobox{background:#dde2d3;padding:50px 40px;text-align:center;border-radius:180px 180px 4px 4px;min-height:460px;display:flex;flex-direction:column;justify-content:center}.radiobox h2{font-size:39px}.radiobox>p:last-child{font-size:10px;letter-spacing:2px}.radioicon{font-size:40px;color:var(--red)}.dial{height:25px;border-bottom:1px solid #9ba68f;background:repeating-linear-gradient(90deg,transparent 0 12px,#9ba68f 12px 13px);margin:15px}.listenblock{background:var(--ink);color:var(--cream);padding:55px max(6vw,24px);display:grid;grid-template-columns:1fr 1.6fr;gap:50px;align-items:center}.listenblock h2{font-size:44px}.player{background:#fff;color:var(--ink);padding:18px}.fallback{font-size:13px;margin:10px}.mission{max-width:750px;margin:85px auto;text-align:center;padding:0 24px}.mission h2{font-size:65px}.mission>a{font-size:14px}.schedulecall{margin:0 auto;max-width:1180px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 20px;display:flex;justify-content:space-between;align-items:center;gap:25px}.schedulecall h2{margin-bottom:10px}.scripture{max-width:850px;text-align:center;margin:75px auto;padding:0 25px}.scripture blockquote{font-size:32px;line-height:1.4}.scripture p{font-size:11px;letter-spacing:2px;color:var(--red)}footer{border-top:1px solid var(--line);max-width:1320px;margin:0 auto;padding:45px 48px;display:flex;justify-content:space-between;gap:30px;font-size:13px}footer>div:nth-child(2){display:flex;flex-direction:column;gap:8px}.pagehead{max-width:1000px;margin:65px auto 35px;padding:0 25px}.pagehead h1{font-size:65px}.prose{max-width:850px;margin:0 auto 80px;padding:0 25px;overflow-wrap:anywhere}.prose h2{font-size:36px;margin-top:45px}.prose img{max-width:100%;height:auto}.prose iframe{max-width:100%}.notice{background:#f3f5f3;border-left:3px solid var(--red);padding:22px;font-size:14px}.notice p{margin-bottom:0}.schedule h2{border-top:1px solid var(--line);padding-top:30px}.schedule hr{display:none}.posts{list-style:none;padding:0}.posts li{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:25px}.posts li[hidden]{display:none}.posts time,.postdate{font-size:13px;color:#657367}.posts time{flex:0 0 100px;padding-top:3px}input{display:block;width:100%;font:inherit;padding:13px;border:1px solid #b5c0b9;background:white;margin-top:8px}a:focus-visible,input:focus-visible{outline:3px solid #bf6e40;outline-offset:4px}@media(max-width:800px){header{padding:20px 24px;align-items:flex-start;flex-direction:column}nav{flex-wrap:wrap;gap:10px 20px}.hero{padding:35px 25px 50px;gap:30px;grid-template-columns:1fr}.hero h1{font-size:64px}.radiobox{min-height:320px;padding:30px;border-radius:130px 130px 4px 4px}.radiobox h2{font-size:34px}.listenblock{grid-template-columns:1fr;gap:20px;padding:35px 24px}.mission{margin:55px auto}.mission h2{font-size:48px}.schedulecall,footer{flex-direction:column;align-items:flex-start;padding:30px 25px}.scripture blockquote{font-size:27px;margin:0}.pagehead h1{font-size:48px}.posts li{display:block}.posts time{display:block}.brand{font-size:30px}}

/* Jean’s Corner homepage feature */
nav{flex-wrap:wrap;justify-content:flex-end;gap:12px 20px}.jeans-feature{max-width:1180px;margin:65px auto 0;padding:45px;background:#f1f4f2;display:grid;grid-template-columns:1.3fr 1fr;gap:55px;align-items:center}.jeans-feature h2{font-size:55px}.jeans-feature p{max-width:580px}.jeans-note{border-left:1px solid #dce2de;text-align:center;padding:20px}.jeans-note span{color:var(--red);font-size:32px}.jeans-note p{font:30px/1.4 'PT Serif',Georgia,serif}.jeans-note small{font-size:9px;letter-spacing:1.5px}@media(max-width:800px){nav{justify-content:flex-start}.jeans-feature{margin:35px 20px 0;padding:28px;grid-template-columns:1fr;gap:20px}.jeans-note{border-left:0;border-top:1px solid #dce2de}.jeans-feature h2{font-size:44px}}

/* Align interior titles with their article and archive content. */
.pagehead{max-width:850px}

/* Shared site grid: wide sections and reading columns each use one alignment. */
:root{--site-width:1180px;--reading-width:850px;--gutter:clamp(24px,4vw,48px)}
header,.hero,.schedulecall,.jeans-feature,footer{width:100%;max-width:var(--site-width);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.pagehead,.prose,.scripture,.mission{width:100%;max-width:var(--reading-width);padding-left:var(--gutter);padding-right:var(--gutter);margin-left:auto;margin-right:auto}
.listenblock{padding-left:max(var(--gutter),calc((100% - var(--site-width))/2 + var(--gutter)));padding-right:max(var(--gutter),calc((100% - var(--site-width))/2 + var(--gutter)))}
.hero,.listenblock,.jeans-feature{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.listenblock{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.jeans-feature{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
header>*{min-width:0}nav{min-width:0}.prose .intro{max-width:none}.scripture blockquote{margin-left:0;margin-right:0}
.posts li{align-items:baseline}.posts li>a{min-width:0}.schedulecall>div,.jeans-feature>div{min-width:0}
@media(max-width:1050px){header{flex-direction:column;align-items:flex-start}nav{justify-content:flex-start}}
@media(max-width:800px){.hero,.listenblock,.jeans-feature{grid-template-columns:minmax(0,1fr)}.jeans-feature{width:100%;margin-left:auto;margin-right:auto}.brand{white-space:normal}.brand span{letter-spacing:1.3px}.pagehead h1{overflow-wrap:anywhere}}

.memorial-photo{margin:0 0 32px;max-width:560px}.memorial-photo img{display:block;width:100%;height:auto}.memorial-photo figcaption{margin-top:10px;font-size:14px;color:#657367}

.archive-intro{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:36px;align-items:center;margin-bottom:32px}.archive-intro figure{margin:0}.archive-intro img{display:block;width:100%;height:auto}.archive-intro figcaption{font-size:13px;color:#657367;margin-top:8px}.archive-intro .intro{margin-top:0}@media(max-width:600px){.archive-intro{grid-template-columns:1fr;gap:16px}.archive-intro figure{max-width:260px}}

/* Photo hero with CSS-only parallax and a high-contrast reading area. */
.hero{max-width:none;min-height:650px;display:flex;align-items:center;padding:76px max(var(--gutter),calc((100% - var(--site-width))/2 + var(--gutter))) 86px;background-color:#142a24;background-image:linear-gradient(90deg,rgba(9,26,22,.91) 0%,rgba(9,26,22,.78) 38%,rgba(9,26,22,.28) 75%),url('/assets/hero-bible.webp');background-size:cover;background-position:center 70%;background-attachment:fixed;color:#fffdf6}
.hero>div{max-width:660px}.hero h1{font-size:clamp(48px,5.7vw,80px);line-height:1.12;letter-spacing:-1.5px;text-shadow:0 2px 14px #10221b}.hero h1 em{color:#f1d8a7}.hero .intro{max-width:540px;text-shadow:0 1px 5px #10221b}.hero .eyebrow{color:#f1e7d3}.hero .button{background:#fafbf9;color:#243c35;border-color:#fafbf9;text-shadow:none}.hero .button.outline{background:#142a24;color:#fffdf6;border-color:#fffdf6}.hero .button:hover{background:#e7d4b3;color:#182d26;border-color:#e7d4b3}.hero a:focus-visible{outline-color:#ffe3a5}
@media(max-width:800px){.hero{min-height:600px;padding-top:48px;padding-bottom:58px;background-attachment:scroll;background-position:60% center;background-image:linear-gradient(90deg,rgba(9,26,22,.9),rgba(9,26,22,.65)),url('/assets/hero-bible.webp')}.hero h1{font-size:clamp(44px,10vw,64px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero{background-attachment:scroll}}

/* Scroll-driven photo layer; overlay and content stay stationary. */
.hero{position:relative;isolation:isolate;overflow:hidden;background-image:linear-gradient(90deg,rgba(9,26,22,.91) 0%,rgba(9,26,22,.78) 38%,rgba(9,26,22,.28) 75%);background-attachment:scroll}
.hero>.hero-backdrop{position:absolute;inset:-125px 0;max-width:none;z-index:-2;background:url('/assets/hero-bible.webp') center 70%/cover no-repeat;will-change:transform;pointer-events:none}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,26,22,.91) 0%,rgba(9,26,22,.78) 38%,rgba(9,26,22,.28) 75%);pointer-events:none}
@media(max-width:800px){.hero{background-image:none}.hero::before{background:linear-gradient(90deg,rgba(9,26,22,.9),rgba(9,26,22,.65))}.hero>.hero-backdrop{background-position:60% center}}
@media(prefers-reduced-motion:reduce){.hero>.hero-backdrop{transform:none!important;will-change:auto}}

/* White outline radio rests over the hero photo beside the message. */
.hero{gap:48px}.hero>.hero-radio{order:2;flex:0 1 450px;max-width:450px;min-width:0;margin-left:auto;text-align:center;pointer-events:none;color:#fffdf6;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}.hero-radio img{display:block;width:100%;height:auto}.hero-radio p{font-size:11px;letter-spacing:2px;margin:12px 0 0}.hero>div:not(.hero-backdrop):not(.hero-radio){flex:1 1 560px;min-width:0}@media(max-width:1050px){.hero{gap:24px}.hero>.hero-radio{flex-basis:320px}.hero h1{font-size:clamp(48px,5.7vw,80px)}}@media(max-width:800px){.hero{flex-direction:column;align-items:flex-start}.hero>div:not(.hero-backdrop):not(.hero-radio){flex:0 1 auto}.hero>.hero-radio{flex:0 1 auto;width:250px;max-width:65%;align-self:flex-end;margin-top:12px}.hero-radio p{font-size:9px;letter-spacing:1px}}

/* Gentle corners echo the radio illustration. */
.button{border-radius:8px;border-width:2px}

/* Native modal supplies focus containment and Escape handling. */
.menu-toggle{display:none}.menu-toggle,.menu-close{align-items:center;justify-content:center;background:transparent;border:2px solid currentColor;border-radius:8px;color:inherit;width:48px;height:48px;padding:8px;cursor:pointer;flex-shrink:0}
.mobile-menu{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;padding:28px var(--gutter) 40px;border:0;background:var(--ink);color:#fff;overflow-y:auto;overscroll-behavior:contain}
.mobile-menu::backdrop{background:var(--ink)}.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.mobile-menu-top span{font-size:clamp(24px,5vw,32px)}.menu-close{display:flex}.mobile-menu nav{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;max-width:650px;margin:48px auto 0;font-size:clamp(25px,5vw,38px)}.mobile-menu nav a{display:block;width:100%;padding:12px 0;color:#fff;border-bottom:1px solid #ffffff30;text-decoration:none}.mobile-menu nav a:hover{color:#f1d8a7}.mobile-menu :focus-visible{outline:3px solid #f1d8a7;outline-offset:5px}
@media(max-width:1050px){header{flex-direction:row;align-items:center;gap:16px}header>nav{display:none}.menu-toggle{display:flex}.brand{font-size:clamp(23px,4vw,32px)}.brand span{font-size:8px;line-height:1.8;letter-spacing:1px;max-width:275px}}
@media(max-height:550px){.mobile-menu nav{margin-top:20px;font-size:24px}.mobile-menu nav a{padding:8px 0}}

.mobile-menu .menu-close{border:0}

/* Avoid isolated words at the end of paragraphs. */
p,li,blockquote,figcaption{text-wrap:pretty}

/* Source Sans 3 complements PT Serif on action controls. */
.button,button{font-family:"Source Sans 3",sans-serif;font-weight:600;letter-spacing:.015em}

.button{font-size:16px}

.button:has(.broadcast-icon){display:inline-flex;align-items:center;justify-content:center;gap:9px}.broadcast-icon{flex-shrink:0;vertical-align:middle}

/* Clean white surfaces with subtle off-white section contrast. */
body{background:#fff}.mission,.scripture{background:transparent}.jeans-feature{background:#f4f6f5}.notice{background:#f4f6f5}

@media(width < 1200px){.schedulecall{border-bottom:0}}

/* Section illustrations echo the line work of the hero radio. */
.icon-heading{display:flex;align-items:center;gap:16px}.section-icon{flex:0 0 40px;width:40px;height:40px;color:var(--ink)}.bible-icon{flex-basis:44px;width:44px;height:44px;color:var(--red)}.icon-heading span{min-width:0}@media(max-width:600px){.icon-heading{gap:12px}.section-icon{flex-basis:32px;width:32px;height:32px}.bible-icon{flex-basis:36px;width:36px;height:36px}}

nav .nav-listen{display:inline-flex;align-items:center;gap:7px}.nav-listen svg{flex-shrink:0}.mobile-menu nav .nav-listen{display:flex;gap:12px}.mobile-menu .nav-listen svg{width:24px;height:24px}

.contact-form{margin-top:32px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.contact-form label{display:block;margin-bottom:8px}.contact-form label span{font-size:13px;color:#657367}.contact-form input,.contact-form textarea{width:100%;display:block;border:1px solid #b5c0b9;border-radius:8px;background:#fff;color:var(--ink);font:inherit;padding:12px 14px;margin-top:0}.contact-form textarea{resize:vertical;min-height:180px}.contact-form textarea:focus-visible{outline:3px solid #bf6e40;outline-offset:4px}.form-note{font-size:14px;color:#657367;margin:20px 0}.contact-form .button:disabled{opacity:.6;cursor:not-allowed}.contact-form .button:disabled:hover{background:var(--ink);color:white}@media(max-width:600px){.contact-fields{grid-template-columns:1fr;gap:20px}}

.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note:empty{display:none}.form-note[data-state="error"]{color:#8e392f}.form-note[data-state="success"]{color:var(--ink)}

.contact-form button[type="submit"]{margin-top:24px}

/* Center the mobile hero, with the radio above the message. */
@media(max-width:800px){
 .hero{align-items:center;text-align:center}
 .hero>.hero-radio{order:-1;align-self:center;margin:0 auto 24px}
 .hero>div:not(.hero-backdrop):not(.hero-radio){width:100%}
 .hero .intro{margin-left:auto;margin-right:auto}
 .hero .actions{justify-content:center}
}

/* Homepage copy and site-wide footer alignment. */
.home-page main{text-align:center}
.home-page .hero .intro,.home-page .jeans-feature p{margin-left:auto;margin-right:auto}
.home-page .actions,.home-page .icon-heading{justify-content:center}
.home-page .schedulecall{flex-direction:column;align-items:center}
.home-page .jeans-feature{grid-template-columns:minmax(0,1fr)}
.home-page .jeans-note{border-left:0;border-top:1px solid #dce2de;padding-top:28px}
footer{flex-direction:column;align-items:center;text-align:center}
footer>div:nth-child(2){flex-direction:row;justify-content:center;flex-wrap:wrap;gap:12px 24px}
footer p{margin:10px 0}

.home-page .player{border-radius:12px;overflow:hidden}.home-page .player iframe{border-radius:8px}
