@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900&family=Inter:wght@400;500;600;700&display=swap');

:root {
    --site-max-width: 1440px;
    --ink: #0b0b0c;
    --panel: #151516;
    --line: #29292b;
    --orange: #f47b20;
    --cream: #f5f1e9;
    --muted: #b8b8b8;
    --white: #fff
}

* {
    box-sizing: border-box
}

html {
    background: #050505;
    font-size: 90%;
    scroll-behavior: smooth
}

body {
    margin: 0 auto;
    max-width: var(--site-max-width);
    min-height: 100vh;
    background: var(--ink);
    box-shadow: 0 0 48px rgba(0, 0, 0, .55);
    color: var(--white);
    font-family: Inter, Arial, sans-serif;
    line-height: 1.65;
    overflow-x: hidden
}

body:before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .05;
    background-image: linear-gradient(30deg, #fff 1px, transparent 1px), linear-gradient(150deg, #fff 1px, transparent 1px);
    background-size: 32px 55px;
    z-index: 20
}

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

p {
    color: #c8c8c8;
    margin: 0 0 1.25rem
}

h1,
h2,
h3,
.brand,
.button {
    font-family: 'Barlow Condensed', Impact, sans-serif;
    text-transform: uppercase;
    line-height: .95;
    margin-top: 0;
    letter-spacing: .02em
}

h1 {
    font-size: clamp(4rem, 10vw, 6rem);
    margin-bottom: 1.5rem
}

h2 {
    font-size: clamp(2.6rem, 6vw, 5.3rem);
    margin-bottom: 1.5rem
}

h3 {
    font-size: 1.75rem;
    margin-bottom: .75rem;
    color: #fff;
}

.skip {
    position: absolute;
    left: -999px
}

.skip:focus {
    left: 1rem;
    top: 1rem;
    background: #fff;
    color: #000;
    padding: 1rem;
    z-index: 100
}

.site-header {
    height: 92px;
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 0 clamp(1rem, 4vw, 4rem);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    background: rgba(11, 11, 12, .96);
    z-index: 50
}

.brand {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: 1.25rem;
    white-space: nowrap
}

.brand b,
.home-hero h1 span,
.eyebrow {
    color: var(--orange)
}

.brand-logo {
    width: 82px;
    object-fit: contain;
    flex: 0 0 auto
}

.site-header nav {
    display: flex;
    gap: 1.25rem;
    margin-left: auto
}

.site-header nav a {
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700
}

.site-header nav a:hover {
    color: var(--orange)
}

.header-actions,
.actions {
    display: flex;
    gap: .75rem;
    align-items: center
}

.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: var(--orange);
    color: #0b0b0c !important;
    padding: .9rem 1.35rem;
    font-weight: 800;
    font-size: 1rem;
    border: 2px solid var(--orange);
    cursor: pointer
}

.button:hover {
    background: #ff994d
}

.button-outline {
    background: #080808;
    color: #fff !important
}
.button-outline:hover {
    background: #555 !important;
    color: #fff !important
}

.menu-toggle {
    display: none;
    align-items: center;
    background: var(--orange);
    color: #fff;
    border: 2px solid var(--orange);
    flex-direction: column;
    gap: 5px;
    height: 52px;
    justify-content: center;
    padding: 0;
    width: 52px
}

.menu-toggle span {
    background: #0b0b0c;
    display: block;
    height: 3px;
    transition: transform .2s ease, opacity .2s ease;
    width: 24px
}

.menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(8px) rotate(45deg)
}

.menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0
}

.menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-8px) rotate(-45deg)
}

@media(max-width:1100px) {
    .site-header {
        gap: .75rem
    }

    .site-header .header-actions {
        display: flex;
        margin-left: auto
    }

    .site-header .menu-toggle {
        display: flex;
        margin-left: 0
    }

    .site-header nav {
        border-top: 1px solid #2b2b2b;
        box-shadow: 0 16px 28px rgba(0, 0, 0, .35);
        display: none;
        max-height: calc(100vh - 92px);
        overflow-y: auto
    }

    .site-header nav.open {
        display: flex
    }
}

@media(max-width:700px) {
    .site-header {
        padding: 0 .75rem
    }

    .brand {
        min-width: 0
    }

    .brand span {
        overflow: hidden;
        text-overflow: ellipsis
    }

    .site-header .header-actions {
        gap: .5rem
    }

    .site-header .header-actions .button {
        min-height: 52px;
        padding: .7rem .9rem
    }

    .site-header .menu-toggle {
        height: 52px;
        width: 52px
    }

    .site-header nav {
        max-height: calc(100vh - 72px)
    }
}

@media(max-width:430px) {
    .site-header>.brand>span {
        display: none
    }
}

.home-hero {
    min-height: calc(100vh - 92px);
    padding: clamp(4rem, 9vw, 9rem) clamp(1.25rem, 7vw, 8rem);
    display: grid;
    align-items: end;
    grid-template-columns: 2fr 1fr;
    gap: 4rem;
    position: relative;
    overflow: hidden;
    background-color: #080808
}

.home-hero::after {
    background: rgba(0, 0, 0, .68);
    content: '';
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1
}

.hero-background {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    inset: 0;
    opacity: 0;
    position: absolute;
    transform: scale(1.025);
    transition: opacity 1s ease-in-out, transform 4s ease-out;
    z-index: 0
}

.hero-background-active {
    opacity: 1;
    transform: scale(1)
}

.home-hero .hero-copy,
.hero-verse {
    position: relative;
    z-index: 2
}

.hero-copy>p:not(.eyebrow) {
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    max-width: 740px
}

.hero-verse {
    border-left: 4px solid var(--orange);
    padding-left: 1.5rem;
    align-self: end
}

.hero-verse p {
    font-family: 'Barlow Condensed';
    font-size: 1.8rem;
    color: #fff
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 800;
    font-size: .98rem
}

.pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 0 !important
}

.pillars article {
    padding: 4rem clamp(1.5rem, 5vw, 5rem);
    border-right: 1px solid var(--line)
}

.pillars span {
    color: var(--orange);
    font-weight: 700;
    font-size: 45px;
}

.pillars h2 {
    font-size: 3.2rem;
    margin: .75rem 0
}

.pillars p {
    margin: 0
}

main>section:not(.home-hero, .pillars, .page-hero) {
    padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 8rem)
}

.split {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: clamp(3rem, 8vw, 9rem);
    align-items: center;
    background: var(--cream);
    color: var(--ink)
}

.split p {
    /* color: var(--orange); */
    color: #4b4b4b;
}

.program-showcase-white { background: #fff }
.program-showcase-muted { background: #f3f3f3; color: var(--ink) }
.program-page-hero {
    background: radial-gradient(circle at 82% 25%, rgba(244, 123, 32, .34), transparent 24%), linear-gradient(120deg, #080808, #191919)
}
.program-registration-band,
.interest-section {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 7vw, 7rem)
}
.program-registration-band { grid-template-columns: 1.15fr .85fr }
.program-registration-band {
    background: var(--orange);
    color: var(--ink)
}
.program-registration-band p,
.program-registration-band .eyebrow { color: #321806 }
.program-registration-band .button { background: #080808; border-color: #080808; color: #fff !important; justify-self: start }
.program-detail-split { grid-template-columns: 1fr 1fr }
.compact-steps { counter-reset: compact-step; list-style: none; margin: 0; padding: 0 }
.compact-steps li { border-bottom: 1px solid #ccc; display: grid; gap: .25rem; padding: 1.4rem 0 }
.compact-steps strong { font-family: 'Barlow Condensed'; font-size: 1.7rem; text-transform: uppercase }
.compact-steps span { color: #555 }
.program-feature-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); background: var(--line) }
.program-feature-grid article { background: #151516; min-height: 250px; padding: clamp(1.75rem, 4vw, 3rem) }
.program-feature-grid article>span { color: var(--orange); font-family: 'Barlow Condensed'; font-size: 2.5rem; font-weight: 800 }
.program-feature-grid h3 { font-size: 2rem; margin-top: 2rem }
.interest-section { background: #111; border-block: 1px solid var(--line); grid-template-columns: minmax(0, 1fr) }
.interest-section>div { max-width: 600px }
.upcoming-programs { background: #0f0f10 }
.stage-card, .interest-card {
    background: var(--ink);
    border-top: 7px solid var(--orange);
    color: #fff;
    padding: 2.5rem
}
.stage-card { display: grid; gap: .6rem }
.stage-card>p { color: var(--orange); font-weight: 700; letter-spacing: .1em; text-transform: uppercase }
.stage-card strong { font-family: 'Barlow Condensed'; font-size: 2rem; line-height: 1; text-transform: uppercase }
.stage-card span { border-bottom: 1px solid #333; color: #bbb; margin-bottom: .65rem; padding-bottom: 1rem }
.tournament-hype { display: flex; flex-wrap: wrap; gap: .65rem }
.tournament-hype span {
    border: 2px solid var(--orange);
    color: #111;
    font-family: 'Barlow Condensed';
    font-size: 1.1rem;
    font-weight: 800;
    padding: .55rem .8rem;
    text-transform: uppercase
}
.interest-card h3 { font-size: 2.4rem }
.interest-card .interest-fields { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr }
.interest-card small { line-height: 1.4 }
.form-status { border-left: 4px solid var(--orange); padding: .75rem 1rem }
.form-status.success { background: #17351f; color: #d9ffe2 }
.form-status.error { background: #451b1b; color: #ffe1e1 }

.schedule-card {
    padding: 2.5rem;
    background: var(--ink);
    color: #fff;
    display: grid;
    gap: .6rem;
    border-top: 7px solid var(--orange)
}

.schedule-card p {
    color: var(--orange);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .1em;
}
.schedule-card strong {
    font-family: 'Barlow Condensed';
    font-size: 2.3rem;
    text-transform: uppercase
}

.schedule-card span {
    color: #ccc;
    border-bottom: 1px solid #333;
    padding-bottom: 1rem
}

.schedule-card em {
    color: #999;
    font-size: 1.0rem;
    margin-top: 1rem
}

.dark-section {
    background: #111;
    border-block: 1px solid var(--line)
}

.section-heading {
    max-width: 850px;
    margin-bottom: 3rem
}

.feature-list,
.values {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem
}

.feature-list span,
.values span {
    border: 1px solid #444;
    padding: 1rem 1.4rem;
    text-transform: uppercase;
    font-family: 'Barlow Condensed';
    font-weight: 700;
    font-size: 1.2rem
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--line)
}

.card {
    background: #121213;
    padding: 2rem;
    min-height: 280px;
    display: flex;
    flex-direction: column
}

.card p {
    font-size: .92rem
}

.card .button {
    margin-top: auto;
    align-self: flex-start
}

.events-band {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    background: linear-gradient(135deg, #cd5710, var(--orange));
    color: #080808
}

.events-band p,
.events-band .eyebrow {
    color: #251208
}

.placeholder {
    border: 2px dashed currentColor;
    padding: 2rem
}

.placeholder p {
    color: inherit
}

.center {
    text-align: center;
    margin-top: 3rem
}

.center .button {
    margin-top: 1rem
}

blockquote {
    font-family: 'Barlow Condensed';
    font-size: clamp(2rem, 5vw, 4.5rem);
    text-transform: uppercase;
    border-left: 7px solid var(--orange);
    padding-left: 2rem;
    margin: 4rem 0 0
}

.testimonial-placeholder {
    border: 2px dashed #555;
    padding: 4rem;
    text-align: center;
    color: #999
}

.final-cta {
    text-align: center;
    background: var(--orange);
    color: #080808
}

.final-cta p,
.final-cta .eyebrow {
    color: #2b1608
}

.final-cta .actions {
    justify-content: center
}

.final-cta .button {
    background: #080808;
    border-color: #080808;
    color: #fff !important
}

.final-cta .button-outline {
    background: transparent;
    color: #080808 !important
}

.page-hero {
    padding: clamp(5rem, 10vw, 10rem) clamp(1.25rem, 7vw, 8rem);
    min-height: 62vh;
    display: flex;
    align-items: end;
    background: radial-gradient(circle at 80% 30%, rgba(244, 123, 32, .2), transparent 20%), linear-gradient(120deg, #080808, #191919)
}

.page-hero>div {
    max-width: 1050px
}

.page-hero .lead {
    font-size: 1.25rem;
    max-width: 740px
}

.prose-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: #333
}

.prose-grid article {
    background: var(--cream);
    color: #111;
    padding: clamp(2rem, 5vw, 5rem)
}

.prose-grid p {
    color: #444
}

.scripture {
    background: var(--orange);
    color: #111;
    text-align: center
}

.scripture p {
    color: #111;
    font-family: 'Barlow Condensed';
    font-size: clamp(2rem, 5vw, 4rem);
    max-width: 950px;
    margin: 0 auto 1rem
}

.schedule-large {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem
}

.schedule-large h2 {
    font-size: clamp(2.6rem, 6vw, 3.3rem);;
}

.schedule-large article {
    background: #171718;
    padding: 3rem
}

.schedule-large .accent-card {
    background: var(--orange);
    color: #111
}

.schedule-large .accent-card p {
    color: #2d1709
}

.notice {
    border-left: 5px solid var(--orange);
    background: #1b1b1c;
    padding: 2rem;
    margin-top: 2rem
}

.steps {
    list-style: none;
    counter-reset: steps;
    max-width: 900px;
    margin: auto;
    padding: 0
}

.steps li {
    counter-increment: steps;
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 0 1rem;
    border-bottom: 1px solid #333;
    padding: 2rem 0
}

.steps li:before {
    content: counter(steps, decimal-leading-zero);
    color: var(--orange);
    font-family: 'Barlow Condensed';
    font-size: 2rem
}

.steps strong {
    font-family: 'Barlow Condensed';
    font-size: 1.7rem;
    text-transform: uppercase
}

.steps span {
    grid-column: 2;
    color: #aaa
}

.contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(2.5rem, 5vw, 4rem)
}

.contact-form-column {
    display: grid;
    gap: 1.5rem
}

.registration-callout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 1.5rem;
    align-items: center;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    background: #171718;
    border: 2px solid var(--orange)
}

.registration-callout .eyebrow,
.registration-callout h2,
.registration-callout p {
    margin-bottom: .5rem
}

.registration-callout .button {
    white-space: nowrap
}

.registration-help {
    grid-column: 1 / -1;
    color: #bbb;
    font-size: .9rem
}

.big-link {
    color: var(--orange);
    font-weight: 700;
    word-break: break-word
}

form {
    display: grid;
    gap: 1rem
}

label {
    display: grid;
    gap: .4rem;
    text-transform: uppercase;
    font-size: .72rem;
    letter-spacing: .1em;
    font-weight: 700
}

input,
select,
textarea {
    width: 100%;
    background: #171718;
    border: 1px solid #444;
    color: #fff;
    padding: 1rem;
    font-size: 1.0rem;
}

small {
    color: #888
}

.faq-list {
    max-width: 1000px;
    margin: auto
}

.faq-list details {
    border-bottom: 1px solid #333;
    padding: 1.5rem 0
}

.faq-list summary {
    font-family: 'Barlow Condensed';
    font-size: 1.8rem;
    text-transform: uppercase;
    cursor: pointer
}

footer {
    padding: 5rem clamp(1.25rem, 7vw, 8rem);
    display: grid;
    grid-template-columns: 2fr repeat(3, 1fr);
    gap: 3rem;
    border-top: 1px solid #333
}

footer>div {
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

footer h3 {
    font-size: 1.3rem
}

footer a:not(.brand) {
    color: #bbb;
    margin: .2rem 0
}

footer a:hover {
    color: var(--orange)
}

.mobile-actions {
    display: none
}

@media(max-width:700px){.program-registration-band,.interest-section,.program-feature-grid{grid-template-columns:1fr}.program-registration-band .button{width:100%}}

/* Teaching & Discipleship */
.teaching-hero{background:linear-gradient(100deg,rgba(8,8,8,.96),rgba(8,8,8,.72)),radial-gradient(circle at 80% 35%,rgba(225,94,13,.32),transparent 36%)}.public-teachings{background:#0d0d0e}.public-teaching-list{display:grid;gap:2rem;margin:0 auto;max-width:900px}.public-teaching{background:#151516;border-top:4px solid var(--orange);box-shadow:0 18px 50px rgba(0,0,0,.18);padding:clamp(2rem,5vw,4rem)}.public-teaching h2{font-size:clamp(2rem,5vw,3.4rem);margin:.8rem 0 .4rem}.public-teaching-body{color:#d7d7d7;font-size:1.05rem;line-height:1.85}.public-teaching-meta{align-items:center;color:#999;display:flex;font-size:.78rem;gap:1rem;justify-content:space-between;letter-spacing:.08em;text-transform:uppercase}.public-teaching-meta span{color:var(--orange);font-weight:800}.public-teaching-author{color:#aaa;margin-bottom:2rem}.public-teaching-empty{min-height:300px}.public-teaching .teaching-block{margin:1.75rem 0}.public-teaching .teaching-block-paragraph p{margin:0}.public-teaching .teaching-block-scripture{background:#202021;border-left:4px solid var(--orange);margin-left:0;padding:1.4rem 1.6rem}.public-teaching .teaching-block-scripture p{font-size:1.12rem;font-style:italic;margin:0}.public-teaching .teaching-block-scripture cite{color:#fff;display:block;font-size:1rem;font-style:normal;font-weight:800;line-height:1.5}.public-teaching .teaching-block-image{margin-left:0;margin-right:0;text-align:center}.public-teaching .teaching-block-image img{display:block;height:auto;margin:auto;max-width:100%}.public-teaching .teaching-block-image figcaption{color:#aaa;font-size:.9rem;margin-top:.6rem}
@media(max-width:700px){.public-teaching-meta{align-items:flex-start;flex-direction:column}.public-teaching{padding:1.5rem}}
.testimonial { max-width: 760px; margin-inline: auto; text-align: center; }
.testimonial-photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; margin-bottom: 1rem; }
.testimonial blockquote { margin: 0 0 1rem; font-size: 1.25rem; line-height: 1.6; }

/* Ministry blog */
.blog-hero{background:linear-gradient(105deg,rgba(7,7,8,.97),rgba(7,7,8,.66)),radial-gradient(circle at 78% 20%,rgba(225,94,13,.48),transparent 38%)}
.public-blog{background:#0d0d0e;padding:clamp(4rem,8vw,7rem) clamp(1rem,5vw,5rem)}.blog-year-bar{align-items:end;display:flex;justify-content:space-between;margin:0 auto 2.5rem;max-width:1050px}.blog-year-bar h2{font-size:clamp(2rem,4vw,3rem);margin:.25rem 0 0}.blog-year-bar form{align-items:end;display:flex;gap:.75rem}.blog-year-bar label{color:#bbb;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.blog-year-bar select{background:#1c1c1e;border:1px solid #414144;border-radius:4px;color:#fff;min-width:130px;padding:.8rem 2.5rem .8rem 1rem}.public-blog-list{display:grid;gap:2.25rem;margin:auto;max-width:1050px}.public-blog-post{background:linear-gradient(145deg,#19191b,#121213);border:1px solid #29292c;border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.28);padding:clamp(1.5rem,5vw,4rem)}.blog-post-heading{align-items:start;border-bottom:1px solid #333;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.blog-post-heading h2{font-size:clamp(2rem,5vw,3.5rem);line-height:1.02;margin:.4rem 0}.blog-post-heading time{align-items:center;background:var(--orange);border-radius:8px;color:#fff;display:flex;flex:0 0 76px;flex-direction:column;padding:.65rem}.blog-post-heading time span,.blog-post-heading time small{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.blog-post-heading time strong{font-size:2rem;line-height:1}.public-blog-empty{align-items:center;background:#171719;border:1px dashed #444;border-radius:12px;display:flex;gap:2rem;padding:clamp(2rem,6vw,5rem)}.empty-year{color:#2c2c2f;font-size:clamp(4rem,14vw,9rem);font-weight:900;line-height:1}@media(max-width:650px){.blog-year-bar,.blog-year-bar form{align-items:stretch;flex-direction:column}.blog-post-heading{gap:1rem}.public-blog-empty{align-items:flex-start;flex-direction:column}}
