    :root {
      --black: #0a0a0a;
      --white: #f9f8f6;
      --gray: #888;
      --light: #efefed;
      --accent: #c9a84c;
      --nav-h: 80px;
    }
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { font-family: 'Outfit', sans-serif; background: var(--white); color: var(--black); overflow-x: hidden; }

    /* ── LANG SWITCH ── */
    .lang-switch { position: fixed; bottom: 24px; right: 24px; z-index: 1000; display: flex; gap: 2px; }
    .lang-btn { background: rgba(10,10,10,0.75); border: 1px solid rgba(255,255,255,0.2); color: #fff; font-family: 'Outfit',sans-serif; font-size: 12px; font-weight: 500; letter-spacing: .1em; padding: 7px 13px; cursor: pointer; transition: all .3s; backdrop-filter: blur(8px); }
    .lang-btn.active { background: var(--accent); border-color: var(--accent); color: var(--black); }

    /* ── NAV ── */
    nav { position: fixed; top: 0; left: 0; width: 100%; height: var(--nav-h); z-index: 900; display: flex; align-items: center; padding: 0 40px; transition: all .4s; }
    nav::before { content: ''; position: absolute; inset: 0; background: transparent; transition: background .4s; }
    body.scrolled nav::before { background: rgba(250,249,247,0.96); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(0,0,0,0.06); }
    .nav-logo { position: relative; z-index: 1; display: flex; align-items: center; gap: 14px; text-decoration: none; }
    .nav-logo-icon { width: 44px; height: 44px; }
    .nav-logo-text { color: var(--black); }
    .nav-logo-text .name { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 700; letter-spacing: .04em; line-height: 1; }
    .nav-logo-text .sub { font-size: 10px; font-weight: 300; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
    .nav-links { position: relative; z-index: 1; margin-left: auto; display: flex; gap: 22px; margin-right: 110px; }
    .nav-links a { color: rgba(0,0,0,0.75); text-decoration: none; font-size: 12px; font-weight: 400; letter-spacing: .07em; text-transform: uppercase; transition: color .3s; position: relative; }
    .nav-links a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: var(--accent); transition: width .3s; }
    .nav-links a:hover::after { width: 100%; }
    .nav-links a:hover { color: var(--accent) !important; }
    .nav-cta { position: relative; z-index: 1; }
    .nav-cta a { background: var(--accent); color: var(--black); padding: 10px 20px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: background .3s; }
    .nav-cta a:hover { background: var(--black); color: var(--white); }
    .nav-menu { display: contents; }
    .nav-toggle { display: none; position: relative; z-index: 1; margin-left: auto; width: 40px; height: 40px; border: none; background: none; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 6px; }
    .nav-toggle span { display: block; width: 24px; height: 2px; background: var(--black); transition: transform .3s, opacity .3s; }
    .nav-toggle.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .nav-toggle.open span:nth-child(2) { opacity: 0; }
    .nav-toggle.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

    /* ── HERO ── */
    #hero { height: 100vh; min-height: 640px; padding-top: var(--nav-h); position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; box-sizing: border-box; }
    .hero-bg { position: absolute; inset: 0; background: linear-gradient(135deg, var(--white) 0%, var(--light) 50%, var(--white) 100%); }
    .hero-globe { position: absolute; right: 5%; top: 50%; transform: translateY(-50%); opacity: .04; }
    .hero-globe svg { width: 500px; height: 500px; }
    .hero-lines { position: absolute; inset: 0; overflow: hidden; }
    .hero-lines::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: repeating-linear-gradient(45deg, transparent, transparent 60px, rgba(201,168,76,0.015) 60px, rgba(201,168,76,0.015) 61px); }
    .hero-content { position: relative; z-index: 2; text-align: center; padding: 160px 24px 220px; max-width: 900px; }
    .hero-eyebrow { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 36px; animation: fadeDown .8s ease both; }
    .hero-eyebrow-line { width: 40px; height: 1px; background: var(--accent); opacity: .6; }
    .hero-eyebrow-text { font-size: 11px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--accent); }
    .hero-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(56px, 10vw, 120px); font-weight: 300; color: var(--black); line-height: .9; letter-spacing: -.02em; animation: fadeUp .9s ease .15s both; }
    .hero-title strong { font-weight: 700; }
    .hero-title .gold { color: var(--accent); font-style: italic; display: block; }
    .hero-subtitle { margin-top: 32px; font-size: clamp(13px, 1.4vw, 15px); font-weight: 300; color: var(--gray); letter-spacing: .06em; line-height: 1.9; animation: fadeUp .9s ease .35s both; }
    .hero-ctas { margin-top: 12px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; animation: fadeUp .9s ease .55s both; }
    .btn { display: inline-block; padding: 14px 32px; font-family: 'Outfit',sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; cursor: pointer; border: none; transition: all .3s; }
    .btn-gold { background: var(--accent); color: var(--black); }
    .btn-gold:hover { background: #fff; }
    .btn-dark { background: var(--black); color: #fff; }
    .btn-dark:hover { background: var(--accent); color: var(--black); }
    .btn-outline-dark { background: transparent; color: var(--black); border: 1px solid rgba(0,0,0,0.2); }
    .btn-outline-dark:hover { background: var(--black); color: #fff; }
    .hero-stats { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); display: flex; gap: 48px; animation: fadeIn 1s ease .8s both; white-space: nowrap; }
    .hero-stat { text-align: center; }
    .hero-stat-num { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-weight: 700; color: var(--accent); line-height: 1; }
    .hero-stat-label { font-size: 10px; font-weight: 400; letter-spacing: .15em; text-transform: uppercase; color: rgba(0,0,0,0.35); margin-top: 4px; }
    .hero-scroll-hint { position: absolute; bottom: 32px; right: 40px; display: flex; flex-direction: column; align-items: center; gap: 8px; color: rgba(0,0,0,0.25); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; animation: fadeIn 1.4s ease 1.2s both; }
    .scroll-bar { width: 1px; height: 48px; background: linear-gradient(to bottom, transparent, rgba(201,168,76,0.5)); animation: scrollPulse 2s ease infinite; }

    /* ── UTILITY ── */
    section { padding: 40px 40px; }
    .container { max-width: 1200px; margin: 0 auto; }
    .section-label { font-size: 11px; font-weight: 500; letter-spacing: .25em; text-transform: uppercase; color: var(--accent); margin-bottom: 18px; display: flex; align-items: center; gap: 12px; }
    .section-label::before { content: ''; width: 24px; height: 1px; background: var(--accent); }
    .section-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(36px, 5vw, 58px); font-weight: 300; line-height: 1.1; }
    .section-title em { font-style: italic; color: var(--accent); }
    .section-desc { margin-top: 18px; font-size: 15px; font-weight: 300; color: var(--gray); line-height: 1.9; max-width: 520px; }
    .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }

    /* ── INTERNATIONAL BANNER ── */
    #international { background: var(--light); padding: 16px 40px; }
    #international .container { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; }
    .intl-text { color: rgba(0,0,0,0.5); font-size: 13px; font-weight: 300; letter-spacing: .04em; }
    .intl-text strong { color: var(--accent); font-weight: 600; }
    .intl-countries { display: flex; gap: 20px; flex-wrap: wrap; }
    .intl-flag { display: flex; align-items: center; gap: 8px; font-size: 12px; color: rgba(0,0,0,0.4); }
    .intl-flag span { font-size: 12px; }

    /* ── COMMUNITY SERVICES ── */
    #services { background: var(--light); }
    .cs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; margin-top: 10px; }
    .cs-card { background: var(--white); padding: 40px 28px; transition: transform .3s, box-shadow .3s; }
    .cs-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.06); }
    .cs-icon { display: inline-flex; align-items: center; justify-content: center; font-size: 32px; color: var(--accent); margin-bottom: 20px; }
    .cs-icon svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; }
    .cs-title { font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--black); margin-bottom: 12px; }
    .cs-text { font-size: 13px; font-weight: 300; color: var(--gray); line-height: 1.8; margin-bottom: 18px; }
    .cs-link { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); text-decoration: none; }
    .cs-link:hover { opacity: .7; }

    /* ── ABOUT ── */
    #about { background: var(--white); }
    .about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start;}
    .about-visual { position: relative; }
    .about-card-main { background: var(--light); padding: 48px 40px; position: relative; overflow: hidden; }
    .about-card-main::before { content: ''; position: absolute; top: -40px; right: -40px; width: 160px; height: 160px; border: 1px solid rgba(201,168,76,0.1); border-radius: 50%; }
    .about-card-main::after { content: ''; position: absolute; top: -20px; right: -20px; width: 100px; height: 100px; border: 1px solid rgba(201,168,76,0.15); border-radius: 50%; }
    .about-year { font-family: 'Cormorant Garamond', serif; font-size: 96px; font-weight: 700; color: rgba(201,168,76,0.15); line-height: 1; position: absolute; top: 20px; right: 20px; }
    .about-quote { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 300; font-style: italic; color: var(--black); line-height: 1.6; position: relative; z-index: 1; }
    .about-quote-attr { margin-top: 24px; font-size: 12px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; color: var(--accent); position: relative; z-index: 1; }
    .about-card-sub { background: var(--accent); padding: 28px 32px; margin-top: 2px; }
    .about-card-sub p { font-size: 14px; font-weight: 400; color: var(--black); line-height: 1.7; }
    .about-content {}
    .about-founded { display: flex; align-items: baseline; gap: 12px; margin-bottom: 32px; }
    .about-founded-year { font-family: 'Cormorant Garamond', serif; font-size: 64px; font-weight: 700; color: var(--black); line-height: 1; }
    .about-founded-label { font-size: 12px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; color: var(--gray); }
    .about-text p { font-size: 15px; font-weight: 300; color: var(--gray); line-height: 1.9; margin-bottom: 18px; }
    .about-services { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 32px; }
    .service-item { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--black); font-weight: 400; }
    .service-item::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); flex-shrink: 0; }

    /* ── NOTRE FOI ── */
    #faith { background: var(--light); }
    .faith-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; margin-top: 10px; }
    .faith-card { background: var(--white); padding: 36px 28px; position: relative; overflow: hidden; transition: transform .3s, box-shadow .3s; }
    .faith-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.06); }
    .faith-card::before { content: attr(data-num); font-family: 'Cormorant Garamond', serif; font-size: 52px; font-weight: 700; color: rgba(201,168,76,0.15); position: absolute; top: 12px; right: 16px; line-height: 1; }
    .faith-title { font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--black); margin-bottom: 12px; position: relative; z-index: 1; }
    .faith-text { font-size: 13px; font-weight: 300; color: var(--gray); line-height: 1.8; position: relative; z-index: 1; }
    .faith-card.highlight { background: var(--accent); }
    .faith-card.highlight::before { color: rgba(0,0,0,0.12); }
    .faith-card.highlight .faith-title, .faith-card.highlight .faith-text { color: var(--black); }

    /* ── PASTOR ── */
    #pastor { background: var(--white); }
    .pastor-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px; align-items: center;}
    .pastor-portrait { position: relative; }
    .pastor-frame {
        background-image: url('./images/pasteur.jpeg');
        background-size: cover;
        background-position: center;
        aspect-ratio: 3/4;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
    }
    .pastor-frame::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,0.8)); }
    .pastor-initials { font-family: 'Cormorant Garamond', serif; font-size: 96px; font-weight: 700; color: rgba(201,168,76,0.15); line-height: 1; }
    .pastor-photo-hint { position: absolute; bottom: 24px; left: 24px; right: 24px; }
    .pastor-photo-hint p { font-size: 11px; color: rgba(255,255,255,0.3); letter-spacing: .1em; }
    .pastor-accent-bar { position: absolute; left: 0; top: 0; width: 4px; height: 100%; background: var(--accent); }
    .pastor-name-card { position: absolute; bottom: -20px; right: -20px; background: var(--accent); padding: 16px 24px; }
    .pastor-name-card .pname { font-family: 'Cormorant Garamond', serif; font-size: 18px; font-weight: 700; color: var(--black); }
    .pastor-name-card .ptitle { font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: rgba(0,0,0,0.6); margin-top: 2px; }
    .pastor-content { color: var(--black); }
    .pastor-content .section-title { color: var(--black); }
    .pastor-content .section-label { color: var(--accent); }
    .pastor-content .section-desc { color: var(--gray); max-width: 100%; }
    .pastor-bio { margin-top: 32px; }
    .pastor-bio p { font-size: 15px; font-weight: 300; color: var(--gray); line-height: 1.9; margin-bottom: 16px; }
    .pastor-ministries { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
    .ministry-tag { background: rgba(201,168,76,0.1); border: 1px solid rgba(201,168,76,0.2); color: var(--accent); font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; padding: 7px 14px; }

    /* ── SERMONS ── */
    #sermons { background: var(--light); }
    .sermons-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 40px; flex-wrap: wrap; gap: 20px; }
    .sermons-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2px; }
    .sermon-card { background: var(--white); overflow: hidden; cursor: pointer; transition: transform .3s, box-shadow .3s; }
    .sermon-card.featured { grid-row: span 2; display: flex; flex-direction: column; }
    .sermon-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.1); }
    .sermon-thumb { position: relative; overflow: hidden; background: var(--black); display: flex; align-items: center; justify-content: center; }
    .sermon-card.featured .sermon-thumb { flex: 1; min-height: 220px; }
    .sermon-card:not(.featured) .sermon-thumb { aspect-ratio: 16/9; }
    .sermon-thumb-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
    .sermon-card:hover .sermon-thumb-img { transform: scale(1.05); }
    .sermon-thumb-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,9,8,0.05) 40%, rgba(13,9,8,0.7) 100%); }
    .sermon-play-btn { position: relative; z-index: 1; width: 52px; height: 52px; border-radius: 50%; background: rgba(201,168,76,0.9); display: flex; align-items: center; justify-content: center; transition: transform .3s, background .3s; }
    .sermon-card:hover .sermon-play-btn { transform: scale(1.1); background: var(--accent); }
    .sermon-play-btn svg { fill: var(--black); width: 18px; height: 18px; margin-left: 3px; }
    .sermon-thumb-label { position: absolute; top: 16px; left: 16px; background: var(--accent); color: var(--black); font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; padding: 5px 10px; z-index: 1; }
    .sermon-info { padding: 20px 22px 24px; }
    .sermon-series { font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
    .sermon-title { font-family: 'Cormorant Garamond', serif; font-weight: 600; color: var(--black); line-height: 1.3; margin-bottom: 10px; }
    .sermon-card.featured .sermon-title { font-size: 26px; }
    .sermon-card:not(.featured) .sermon-title { font-size: 17px; }
    .sermon-meta { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--gray); }
    .sermon-meta-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--gray); }
    .sermon-youtube-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); text-decoration: none; }
    .sermon-youtube-link:hover { opacity: .7; }

    /* ── EVENTS ── */
    #events { background: var(--white); }
    .events-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 12px; }
    .event-card { padding: 32px 36px; background: var(--light); display: flex; gap: 24px; align-items: flex-start; transition: background .3s, transform .2s; cursor: pointer; }
    .event-card:hover { background: var(--black); transform: translateX(4px); }
    .event-card:hover .event-title, .event-card:hover .event-desc { color: #fff; }
    .event-card:hover .event-date-num { color: var(--accent); }
    .event-card:hover .event-date-month, .event-card:hover .event-time { color: rgba(255,255,255,0.4); }
    .event-card:hover .event-tag { background: rgba(201,168,76,0.15); color: var(--accent); }
    .event-date { text-align: center; min-width: 56px; }
    .event-date-num { font-family: 'Cormorant Garamond', serif; font-size: 40px; font-weight: 700; color: var(--black); line-height: 1; transition: color .3s; }
    .event-date-num.icon-num { display: flex; align-items: center; justify-content: center; }
    .event-date-num.icon-num svg { width: 0.85em; height: 0.85em; stroke: currentColor; fill: none; stroke-width: 2; }
    .event-date-month { font-size: 11px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: var(--gray); transition: color .3s; }
    .event-divider { width: 1px; background: rgba(0,0,0,0.1); align-self: stretch; transition: background .3s; }
    .event-card:hover .event-divider { background: rgba(255,255,255,0.08); }
    .event-body { flex: 1; }
    .event-tag { display: inline-block; font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; padding: 4px 10px; background: rgba(201,168,76,0.1); color: var(--accent); margin-bottom: 10px; transition: all .3s; }
    .event-title { font-size: 16px; font-weight: 500; color: var(--black); margin-bottom: 6px; transition: color .3s; }
    .event-desc { font-size: 13px; color: var(--gray); line-height: 1.6; transition: color .3s; }
    .event-time { display: block; font-size: 11px; color: var(--gray); margin-top: 8px; font-weight: 500; transition: color .3s; }

    /* ── PILLARS ── */
    #mission { background: var(--light); }
    #mission .section-title { color: var(--black); }
    #mission .section-label { color: var(--accent); }
    .pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; margin-top: 10px; }
    .pillar { background: var(--white); padding: 40px 28px; position: relative; overflow: hidden; transition: transform .3s, box-shadow .3s; }
    .pillar::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .5s; }
    .pillar:hover::after { transform: scaleX(1); }
    .pillar:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.06); }
    .pillar-icon { font-size: 32px; margin-bottom: 20px; }
    .pillar-num { font-family: 'Cormorant Garamond', serif; font-size: 52px; font-weight: 700; color: rgba(201,168,76,0.15); line-height: 1; position: absolute; top: 16px; right: 20px; }
    .pillar-title { font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--black); margin-bottom: 12px; }
    .pillar-text { font-size: 13px; font-weight: 300; color: var(--gray); line-height: 1.8; }

    /* ── COMMUNITY / TESTIMONIAL ── */
    #community { background: var(--accent); }
    .community-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; }
    .community-quote { font-family: 'Cormorant Garamond', serif; font-size: clamp(24px, 3vw, 38px); font-weight: 300; font-style: italic; color: var(--black); line-height: 1.5; }
    .community-author { margin-top: 28px; display: flex; align-items: center; gap: 16px; }
    .community-author-avatar { width: 48px; height: 48px; border-radius: 50%; background: rgba(0,0,0,0.15); display: flex; align-items: center; justify-content: center; font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 700; color: var(--black); }
    .community-author-info .name { font-size: 14px; font-weight: 600; color: var(--black); }
    .community-author-info .role { font-size: 12px; color: rgba(0,0,0,0.55); }
    .community-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    .community-stat { background: rgba(0,0,0,0.08); padding: 28px 24px; }
    .community-stat-num { font-family: 'Cormorant Garamond', serif; font-size: 48px; font-weight: 700; color: var(--black); line-height: 1; }
    .community-stat-label { font-size: 12px; font-weight: 500; color: rgba(0,0,0,0.6); margin-top: 6px; line-height: 1.4; }

    /* ── TEAM ── */
    #team { background: var(--white); }
    .team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 10px; }
    .team-card { position: relative; overflow: hidden; }
    .team-card-inner { background: var(--light); aspect-ratio: 3/4; display: flex; flex-direction: column; justify-content: flex-end; padding: 0; overflow: hidden; position: relative; transition: transform .3s; }
    .team-card:hover .team-card-inner { transform: translateY(-4px); }
    .team-card-landscape { grid-column: span 3; }
    .team-card-landscape .team-card-inner { aspect-ratio: 16/9; }
    .team-card-landscape .team-name { font-size: 26px; }
    .team-card-landscape .team-overlay { background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 60%); }
    #team .team-grid { align-items: center; }
    .team-card-bg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #f0ede8, #e8e4de); }
    .team-initials { font-family: 'Cormorant Garamond', serif; font-size: 72px; font-weight: 700; color: rgba(0,0,0,0.06); }
    .team-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 50%); }
    .team-info { position: relative; z-index: 1; padding: 20px; }
    .team-name { font-family: 'Cormorant Garamond', serif; font-size: 19px; font-weight: 600; color: #fff; line-height: 1.2; }
    .team-role { font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: var(--accent); margin-top: 4px; }
    .team-upload-hint { font-size: 10px; color: rgba(255,255,255,0.3); margin-top: 6px; font-style: italic; }

    /* ── GALLERY ── */
    #gallery { background: var(--light); }
    .gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 160px; grid-auto-flow: dense; gap: 8px; margin-top: 10px; }
    .gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 2; }
    .gallery-item:nth-child(7) { grid-column: span 2; }
    .gallery-placeholder { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: linear-gradient(135deg, #f0ede8, #e8e4de); border: 1px dashed rgba(0,0,0,0.12); transition: background .3s; }
    .gallery-item:hover .gallery-placeholder { background: linear-gradient(135deg, #e8e4de, #ddd8d0); }
    .gallery-icon { font-size: 28px; opacity: .35; }
    .gallery-hint { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(0,0,0,0.3); }
    .gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; cursor: pointer; transition: transform .4s ease; }
    .gallery-item img:hover { transform: scale(1.06); }

    /* ── LIGHTBOX ── */
    .lightbox { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; background: rgba(10,10,10,0.92); opacity: 0; visibility: hidden; transition: opacity .3s ease; }
    .lightbox.active { opacity: 1; visibility: visible; }
    .lightbox-img { width: 70vw; max-width: 70vw; max-height: 85vh; object-fit: contain; transform: scale(.9); transition: transform .3s ease; box-shadow: 0 20px 60px rgba(0,0,0,0.5); }
    .lightbox.active .lightbox-img { transform: scale(1); }
    .lightbox-close { position: absolute; top: 24px; right: 32px; background: none; border: none; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; transition: color .3s, transform .3s; }
    .lightbox-close:hover { color: var(--accent); transform: rotate(90deg); }
    .lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.08); border: none; color: #fff; font-size: 22px; width: 52px; height: 52px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .3s, color .3s; }
    .lightbox-nav:hover { background: var(--accent); color: var(--black); }
    .lightbox-prev { left: 24px; }
    .lightbox-next { right: 24px; }
    @media (max-width: 600px) {
      .lightbox-img { width: 90vw; max-width: 90vw; }
      .lightbox-nav { width: 40px; height: 40px; font-size: 16px; }
      .lightbox-prev { left: 8px; }
      .lightbox-next { right: 8px; }
    }

    /* ── JOIN ── */
    #join { background: var(--white); }
    #join .section-title { color: var(--black); }
    #join .section-label { color: var(--accent); }
    #join .section-desc { color: var(--gray); }
    .join-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-top: 12px; }
    .join-item { background: var(--light); padding: 36px 28px; transition: transform .3s, box-shadow .3s; position: relative; overflow: hidden; }
    .join-item::before { content: attr(data-num); font-family: 'Cormorant Garamond', serif; font-size: 80px; font-weight: 700; color: rgba(201, 168, 76, 0.18); position: absolute; top: 10px; right: 16px; line-height: 1; }
    .join-item:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.06); }
    .join-item-icon { font-size: 28px; margin-bottom: 16px; }
    .join-item-title { font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 10px; letter-spacing: .04em; }
    .join-item-text { font-size: 13px; color: var(--gray); line-height: 1.7; }

    /* ── FIRST VISIT ── */
    #visit { background: var(--white); }
    .visit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; margin-top: 10px; }
    .visit-card { background: var(--light); padding: 40px 28px; transition: transform .3s, box-shadow .3s; }
    .visit-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.06); }
    .visit-icon { display: inline-flex; align-items: center; justify-content: center; font-size: 32px; color: var(--accent); margin-bottom: 20px; }
    .visit-icon svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; }
    .visit-title { font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--black); margin-bottom: 12px; }
    .visit-text { font-size: 13px; font-weight: 300; color: var(--gray); line-height: 1.8; }
    .visit-cta { text-align: center; margin-top: 12px; }

    /* ── CONTACT ── */
    #contact { background: var(--light); }
    #contact .section-title { color: var(--black); }
    #contact .section-label { color: var(--accent); }
    .contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; margin-top: 10px; }
    .contact-info-text { font-size: 15px; font-weight: 300; color: var(--gray); line-height: 1.9; margin-bottom: 36px; }
    .contact-detail { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 22px; }
    .contact-detail-icon { width: 42px; height: 42px; border: 1px solid rgba(201,168,76,0.3); display: flex; align-items: center; justify-content: center; font-size: 17px; flex-shrink: 0; }
    .contact-detail-body strong { display: block; font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: rgba(0,0,0,0.35); margin-bottom: 3px; }
    .contact-detail-body span { font-size: 14px; color: var(--black); }
    .contact-socials { display: flex; gap: 10px; margin-top: 32px; }
    .social-link { width: 40px; height: 40px; border: 1px solid rgba(0,0,0,0.1); display: flex; align-items: center; justify-content: center; color: rgba(0,0,0,0.4); font-size: 14px; text-decoration: none; font-weight: 600; transition: all .3s; }
    .social-link:hover { border-color: var(--accent); color: var(--accent); }
    .contact-map { background: #ddd; min-height: 400px; position: relative; overflow: hidden; }
    .contact-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
    .contact-map-inner { text-align: center; color: var(--gray); }
    .contact-map-inner p { font-size: 13px; margin-top: 10px; }

    /* ── GIVING ── */
    #giving { background: var(--light); }
    .giving-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 48px; }
    .giving-card { background: var(--white); padding: 48px 40px; display: flex; flex-direction: column; gap: 16px; }
    .giving-card-interac { background: var(--white); border-top: 3px solid var(--accent); }
    .giving-card-icon { font-size: 36px; color: var(--accent); }
    .giving-method { font-size: 13px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--black); }
    .giving-desc { font-size: 13px; font-weight: 300; color: var(--gray); line-height: 1.8; }
    .giving-fields { display: flex; flex-direction: column; gap: 16px; margin-top: 8px; border-top: 1px solid rgba(0,0,0,0.08); padding-top: 24px; }
    .giving-field { display: flex; flex-direction: column; gap: 4px; }
    .giving-field-label { font-size: 11px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; color: var(--gray); }
    .giving-field-value { font-family: 'Cormorant Garamond', serif; font-size: clamp(42px, 6vw, 64px); font-weight: 700; color: var(--accent); letter-spacing: .02em; line-height: 1; }
    .giving-email { font-family: 'Cormorant Garamond', serif; font-size: clamp(18px, 2vw, 22px); font-weight: 600; color: var(--accent); text-decoration: none; word-break: break-all; border-bottom: 1px solid rgba(201,168,76,0.3); padding-bottom: 10px; transition: opacity .3s; }
    .giving-email:hover { opacity: .7; }
    .giving-note { font-size: 12px; font-weight: 300; color: var(--gray); line-height: 1.7; }
    .giving-scripture { margin-top: 48px; font-family: 'Cormorant Garamond', serif; font-size: clamp(16px, 2vw, 20px); font-style: italic; font-weight: 300; color: rgba(0,0,0,0.35); text-align: center; line-height: 1.8; max-width: 700px; margin-left: auto; margin-right: auto; }
    @media (max-width: 640px) {
      .giving-grid { grid-template-columns: 1fr; }
      .giving-card { padding: 36px 24px; }
    }

    /* ── FOOTER ── */
    footer { background: var(--white); padding: 20px 32px; border-top: 1px solid rgba(0,0,0,0.06); }
    .footer-top { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 48px; border-bottom: 1px solid rgba(0,0,0,0.08); max-width: 1200px; margin: 0 auto; }
    .footer-logo-name { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 700; color: var(--black); }
    .footer-logo-sub { font-size: 11px; color: var(--gray); margin-top: 4px; margin-bottom: 20px; line-height: 1.6; }
    .footer-col h4 { font-size: 10px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); margin-bottom: 18px; }
    .footer-col a { display: block; font-size: 13px; color: var(--gray); text-decoration: none; margin-bottom: 10px; transition: color .3s; }
    .footer-col a:hover { color: var(--black); }
    .footer-col p { font-size: 13px; color: var(--gray); line-height: 1.7; }
    .footer-bottom { max-width: 1200px; margin: 24px auto 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
    .footer-legal-block { display: flex; flex-direction: column; gap: 4px; }
    .footer-copy { font-size: 12px; color: rgba(0,0,0,0.3); }
    .footer-legal { font-size: 12px; color: rgba(0,0,0,0.3); }
    .footer-socials { display: flex; gap: 10px; }

    /* ── YOUTUBE SECTION ── */
    #youtube { background: var(--white); padding: 30px; }
    .yt-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; margin-top: 40px; }
    .yt-embed { aspect-ratio: 16/9; background: var(--black); overflow: hidden; position: relative; }
    .yt-embed iframe { width: 100%; height: 100%; border: none; display: block; }
    .yt-cta { text-align: center; margin-top: 32px; }
    .yt-subscribe { display: inline-flex; align-items: center; gap: 10px; background: #ff0000; color: #fff; padding: 14px 28px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: background .3s; }
    .yt-subscribe:hover { background: #cc0000; }
    .yt-subscribe svg { width: 20px; height: 20px; fill: #fff; }

    /* ── ANIMATIONS ── */
    @keyframes fadeUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
    @keyframes fadeDown { from { opacity:0; transform:translateY(-20px); } to { opacity:1; transform:translateY(0); } }
    @keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
    @keyframes scrollPulse { 0%,100%{ opacity:.3; } 50%{ opacity:1; } }
    .reveal { opacity:0; transform:translateY(36px); transition: opacity .8s ease, transform .8s ease; }
    .reveal.visible { opacity:1; transform:translateY(0); }
    .reveal-delay-1 { transition-delay:.1s; }
    .reveal-delay-2 { transition-delay:.2s; }
    .reveal-delay-3 { transition-delay:.3s; }
    .reveal-delay-4 { transition-delay:.4s; }

    /* ── RESPONSIVE ── */
    @media (max-width: 1024px) {
      nav { padding: 0 24px; }
      .nav-toggle { display: flex; }
      .nav-menu {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 36px;
        position: fixed;
        top: var(--nav-h);
        left: 0;
        width: 100%;
        height: calc(100vh - var(--nav-h));
        background: var(--white);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-12px);
        transition: opacity .35s ease, transform .35s ease, visibility .35s;
        z-index: 899;
      }
      .nav-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }
      .nav-links { flex-direction: column; align-items: center; gap: 28px; margin: 0; }
      .nav-links a { font-size: 16px; }
      .nav-cta { margin: 0; }
    }
    @media (max-width: 900px) {
      .sermons-grid { grid-template-columns: 1fr; }
      .sermon-card.featured { grid-row: auto; }
      .about-grid, .pastor-grid, .contact-grid, .two-col, .community-inner, .events-grid { grid-template-columns: 1fr; }
      .pillars, .team-grid, .join-grid, .cs-grid, .faith-grid, .visit-grid { grid-template-columns: 1fr 1fr; }
      .gallery-grid { grid-template-columns: repeat(2, 1fr); }
      .footer-top { grid-template-columns: 1fr 1fr; }
      .yt-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 600px) {
      section { padding: 20px; }
      nav { padding: 0 20px; }
      .pillars, .team-grid, .join-grid, .cs-grid, .faith-grid, .visit-grid { grid-template-columns: 1fr; }
      #team .team-grid { align-items: start; }
      .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 200px; }
      .gallery-item:nth-child(1), .gallery-item:nth-child(7) { grid-column: span 1; grid-row: span 1; }
      .hero-stats { gap: 28px; }
      .hero-title { font-size: 52px; }
      .footer-legal-block { max-width: calc(100% - 100px); }
    }

    .event-time svg {
      vertical-align: -2px;
      color: #C9A84CFF;
    }
    .pillar-icon, .join-item-icon, .contact-detail-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #C9A84CFF;
    }
    .pillar-icon svg, .join-item-icon svg, .contact-detail-icon svg {
        width: 1em;
        height: 1em;
        fill: currentColor;
    }
    .contact-map-inner svg {
        color: #C9A84CFF;
    }