:root{
  --black:#0a0a0a;
  --white:#fafafa;
  --off:#f3f2ef;
  --line: rgba(255,255,255,0.14);
  --line-dark: rgba(0,0,0,0.12);
  --gray: #7a7a7a;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--white);
  color:var(--black);
  font-family:'Inter',sans-serif;
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:0.01em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1100px;margin:0 auto;padding:0 32px;}

/* i18n */
[data-i18n]{display:none;}
html[data-lang="es"] [data-i18n="es"]{display:block;}
html[data-lang="en"] [data-i18n="en"]{display:block;}
html[data-lang="es"] [data-i18n="es"].inline{display:inline;}
html[data-lang="en"] [data-i18n="en"].inline{display:inline;}

/* Header */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(10,10,10,0.92);
  border-bottom:1px solid var(--line);
}
header::before{
  content:'';position:absolute;inset:0;z-index:-1;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 40px;width:100%;}
.brand{display:flex;align-items:center;color:var(--white);flex-shrink:0;justify-self:start;}
.brand-logo{height:112px;width:auto;display:block;}
.brand-fallback{display:none;align-items:center;gap:12px;}
.brand-fallback .mark{width:34px;height:34px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.brand-fallback .mark svg{width:18px;height:18px;}
.brand-name{font-family:'Cormorant Garamond',serif;font-size:19px;letter-spacing:0.03em;color:var(--white);white-space:nowrap;}
.nav-group{display:contents;}
nav.links{display:flex;align-items:center;gap:24px;justify-self:center;}
nav.links a{color:var(--white);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;opacity:0.75;transition:opacity .2s;white-space:nowrap;}
nav.links a:hover,nav.links a.active{opacity:1;}
.nav-right{display:flex;align-items:center;gap:16px;flex-shrink:0;justify-self:end;}
.lang-toggle{display:flex;border:1px solid var(--line);border-radius:20px;overflow:hidden;flex-shrink:0;}
.lang-toggle button{
  background:none;border:none;color:var(--white);font-family:'Inter',sans-serif;
  font-size:12px;letter-spacing:0.08em;padding:6px 14px;cursor:pointer;opacity:0.6;transition:.2s;
}
.lang-toggle button.active{opacity:1;background:var(--white);color:var(--black);}
.menu-btn{display:none;background:none;border:none;color:var(--white);font-size:24px;cursor:pointer;padding:8px;z-index:101;}
.cft-badge{
  border:1px solid var(--line);border-radius:20px;
  padding:7px 16px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--white);white-space:nowrap;transition:.2s;flex-shrink:0;
}
.cft-badge:hover{background:var(--white);color:var(--black);}

@media (max-width:900px){
  .brand-logo{height:76px;}
  .nav{grid-template-columns:1fr auto;padding:0 20px;gap:16px;}
  .nav-group{display:flex;align-items:center;gap:16px;justify-self:end;}
  nav.links{
    position:fixed;top:76px;left:0;right:0;bottom:0;width:100%;background:var(--black);
    flex-direction:column;align-items:flex-start;padding:32px;gap:0;
    transform:translateX(100%);transition:transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y:auto;z-index:100;
  }
  nav.links.open{transform:translateX(0);}
  nav.links a{font-size:18px;padding:16px 0;width:100%;border-bottom:1px solid var(--line);opacity:0.9;}
  .menu-btn{display:block;z-index:101;}
}

@media (max-width:640px){
  .brand-logo{height:56px;}
  .nav{padding:0 16px;grid-template-columns:1fr auto;}
  .lang-toggle{font-size:11px;}
  .lang-toggle button{padding:5px 10px;}
  .menu-btn{font-size:20px;padding:6px;}
  .cft-badge{font-size:10px;padding:5px 10px;}

  /* Hero adjustments */
  .hero{padding:120px 16px 60px;}
  .hero h1{font-size:clamp(36px,8vw,72px);margin-bottom:20px;}
  .hero p.sub{font-size:clamp(16px,2vw,20px);margin-bottom:32px;}
  .hero-cta{gap:12px;}
  .btn{padding:12px 24px;font-size:12px;}

  /* Page hero */
  .page-hero{padding:140px 16px 60px;}
  .page-hero h1{font-size:clamp(28px,5vw,48px);}

  /* Sections */
  section{padding:60px 16px;}
  .section-head{margin-bottom:40px;}
  .section-head h2{font-size:clamp(24px,3vw,36px);}

  /* Info grid */
  .info-grid{gap:20px;padding:48px 16px;}
  .info-grid .item .num{font-size:28px;}

  /* Leader card */
  .leader-card{flex-direction:column;align-items:flex-start;gap:24px;margin-top:32px;}
  .leader-card .photo{width:220px;height:220px;}
  .leader-card h3{font-size:22px;}

  /* Event row */
  .event-row{grid-template-columns:60px 1fr;gap:16px;padding:20px 0;}
  .event-row .date .d{font-size:28px;}
}

/* Page hero (interior pages) */
.page-hero{
  background:var(--black);color:var(--white);padding:220px 0 80px;text-align:center;
}
.page-hero .label{color:#a5a5a5;}
.page-hero h1{font-size:clamp(36px,6vw,64px);}

/* Hero (home) */
.hero{
  min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:var(--white);position:relative;
  padding:180px 32px 80px;
  overflow:hidden;
}
.hero-video{
  position:absolute;top:0;left:0;width:100%;height:100%;
  object-fit:cover;z-index:1;
}
.hero-overlay{
  position:absolute;top:0;left:0;width:100%;height:100%;
  background:linear-gradient(180deg, rgba(10,10,10,0.65) 0%, rgba(10,10,10,0.55) 45%, rgba(10,10,10,0.85) 100%);
  z-index:2;
}
.hero > *:not(.hero-video):not(.hero-overlay){
  position:relative;z-index:3;
}
.hero .eyebrow{font-size:clamp(14px,1.6vw,20px);letter-spacing:0.35em;text-transform:uppercase;color:#b8b8b8;margin-bottom:28px;}
.hero h1{font-size:clamp(56px,10vw,128px);line-height:1.02;max-width:1000px;margin-bottom:32px;}
.hero p.sub{font-size:clamp(18px,2.2vw,26px);color:#c9c9c9;max-width:640px;margin-bottom:48px;font-weight:300;}
.hero-cta{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;}
.btn{
  display:inline-block;padding:15px 34px;font-size:13px;letter-spacing:0.12em;text-transform:uppercase;
  border:1px solid var(--white);transition:.25s;cursor:pointer;
  background:transparent;font-family:'Inter',sans-serif;font-weight:400;-webkit-appearance:none;appearance:none;
}
.btn.solid{background:var(--white);color:var(--black);}
.btn.solid:hover{background:transparent;color:var(--white);}
.btn.outline{color:var(--white);}
.btn.outline:hover{background:var(--white);color:var(--black);}
.btn.dark{border-color:#111;color:#111;}
.btn.dark:hover{background:#111;color:var(--white);}

/* Sections */
section{padding:110px 0;}
.label{font-size:12px;letter-spacing:0.3em;text-transform:uppercase;color:var(--gray);margin-bottom:18px;}
.section-head{max-width:640px;margin-bottom:64px;}
.section-head h2{font-size:clamp(32px,4vw,48px);}
.off{background:var(--off);}

/* Info strip */
.info-strip{background:var(--black);color:var(--white);padding:64px 0;}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;text-align:center;}
.info-grid .item .num{font-family:'Cormorant Garamond',serif;font-size:34px;margin-bottom:8px;}
.info-grid .item .cap{font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:#a5a5a5;}
.info-grid .item{border-right:1px solid var(--line);}
.info-grid .item:last-child{border-right:none;}

/* About / two-col */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-grid .visual{aspect-ratio:4/5;background:var(--black);display:flex;align-items:center;justify-content:center;}
.about-grid .visual svg{width:120px;height:120px;}
.about-grid p{color:#444;margin-bottom:20px;font-size:16px;}

/* Leader card */
.leader-card{display:flex;gap:44px;align-items:center;margin-top:48px;}
.leader-card .photo{width:320px;height:320px;border-radius:50%;background:#111;flex-shrink:0;object-fit:cover;}
.leader-card .info{padding-top:4px;}
.leader-card h3{font-size:28px;margin-bottom:4px;}
.leader-card .role{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--gray);margin:0 0 20px;}
.leader-card .bio p{font-size:15px;color:#444;margin-bottom:14px;max-width:620px;}
.leader-card .bio a{color:var(--black);border-bottom:1px solid var(--black);}

/* Beliefs */
.beliefs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);}
.belief-card{background:var(--off);padding:44px 36px;}
.belief-card .n{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--gray);margin-bottom:16px;}
.belief-card h3{font-size:22px;margin-bottom:14px;}
.belief-card p{color:#555;font-size:15px;}

/* Doctrine accordion (beliefs page) */
.doctrine-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;}
.doctrine-item{border-top:1px solid var(--line-dark);padding:28px 0;}
.doctrine-item:last-child{border-bottom:1px solid var(--line-dark);}
.doctrine-item summary{cursor:pointer;list-style:none;position:relative;padding-right:32px;display:flex;align-items:baseline;gap:16px;}
.doctrine-item summary::-webkit-details-marker{display:none;}
.doctrine-item summary::after{content:'+';position:absolute;right:0;top:0;font-size:22px;color:var(--gray);}
.doctrine-item[open] summary::after{content:'\2212';}
.doctrine-item summary .n{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--gray);flex-shrink:0;}
.doctrine-item summary h3{font-size:24px;margin:0;}
.doctrine-item .body{margin-top:18px;color:#444;font-size:15.5px;}
.doctrine-item .body p{margin-bottom:14px;}
.doctrine-item .body p:last-child{margin-bottom:0;}
.doctrine-item .verse{font-style:italic;color:#555;border-left:2px solid var(--line-dark);padding-left:16px;margin-top:14px;}
.doctrine-item .verse cite{display:block;font-style:normal;font-size:13px;color:var(--gray);margin-top:6px;}

.grace-grid{display:flex;flex-direction:column;gap:1px;background:var(--line-dark);margin-top:20px;}
.grace-card{background:var(--off);padding:32px 36px;}
.grace-card h3{font-size:19px;margin-bottom:12px;}
.grace-card blockquote{font-style:italic;color:#444;font-size:15px;margin:0;}
.grace-card cite{display:block;font-style:normal;font-size:13px;color:var(--gray);margin-top:10px;}

.distinctives-grid{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){.distinctives-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:500px){.distinctives-grid{grid-template-columns:1fr;}}

/* What to expect (visit page) */
.expect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);}
@media (max-width:900px){
  .expect-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .expect-grid{grid-template-columns:1fr;}
}

/* Ministries / community */
.ministries-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-dark);}
.ministry-card{background:var(--white);padding:40px;}
.ministry-card h3{font-size:24px;margin-bottom:12px;}
.ministry-card p{color:#444;font-size:15px;margin-bottom:14px;}
.ministry-card ul{list-style:none;font-size:14px;color:#555;}
.ministry-card ul li{padding:6px 0;border-top:1px solid var(--line-dark);}
.ministry-card ul li:first-child{border-top:none;}
.ministry-meta{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gray);margin-bottom:6px;}

/* Sermons */
.sermons-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;}
.sermon-main{aspect-ratio:16/9;background:#111;position:relative;overflow:hidden;}
.sermon-main iframe{width:100%;height:100%;border:none;}
.sermon-main .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.sermon-main .play span{width:64px;height:64px;border-radius:50%;border:1px solid rgba(255,255,255,0.5);display:flex;align-items:center;justify-content:center;color:#fff;}
.sermon-list{display:flex;flex-direction:column;gap:1px;background:var(--line-dark);}
.sermon-item{background:#fff;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;}
.sermon-item .t{font-size:15px;}
.sermon-item .d{font-size:12px;color:var(--gray);margin-top:4px;}
.channel-cta{margin-top:48px;text-align:center;}

/* Featured event */
.featured-event{display:grid;grid-template-columns:0.85fr 1fr;gap:64px;align-items:center;}
.featured-event .poster{
  perspective:1800px;
}
.featured-event .poster-flip{
  position:relative;width:100%;transform-style:preserve-3d;
  transform:rotate(-1.2deg);
  transition:transform .7s cubic-bezier(0.4,0,0.2,1);
  background:var(--black);border-radius:6px;
  box-shadow:0 24px 60px rgba(0,0,0,0.18);
}
.featured-event .poster:hover .poster-flip{transform:rotate(0deg) rotateY(180deg);}
.featured-event .poster-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:6px;overflow:hidden;}
.featured-event .poster-front{position:relative;}
.featured-event .poster-back{position:absolute;inset:0;transform:rotateY(180deg);}
.featured-event .poster-face img{width:100%;height:100%;display:block;object-fit:cover;}
.featured-event .details .label{margin-bottom:14px;}
.featured-event h2{font-size:clamp(30px,4vw,44px);margin-bottom:8px;}
.featured-event .subtitle{color:var(--gray);font-size:16px;margin-bottom:28px;letter-spacing:0.02em;}
.featured-event .speakers{display:flex;gap:28px;margin-bottom:28px;flex-wrap:wrap;}
.featured-event .speakers .sp b{display:block;font-family:'Cormorant Garamond',serif;font-size:19px;}
.featured-event .speakers .sp span{font-size:12px;color:var(--gray);letter-spacing:0.08em;text-transform:uppercase;}
.featured-event .info-line{display:flex;gap:12px;margin-bottom:14px;font-size:15px;}
.featured-event .info-line .k{color:var(--gray);min-width:90px;flex-shrink:0;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;padding-top:2px;}
.featured-event .cta-row{margin-top:32px;}
@media (max-width:900px){
  .featured-event{grid-template-columns:1fr;gap:40px;}
  .featured-event .poster{max-width:380px;margin:0 auto;}
  .featured-event .poster-flip{transform:none;}
  .featured-event .poster:hover .poster-flip{transform:rotateY(180deg);}
}

/* Events */
.events-list{display:flex;flex-direction:column;}
.event-row{display:grid;grid-template-columns:110px 1fr auto;gap:32px;align-items:center;padding:28px 0;border-top:1px solid var(--line-dark);}
.event-row:last-child{border-bottom:1px solid var(--line-dark);}
.event-row .date{font-family:'Cormorant Garamond',serif;}
.event-row .date .d{font-size:32px;line-height:1;}
.event-row .date .m{font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:var(--gray);}
.event-row h3{font-size:19px;font-weight:500;font-family:'Inter',sans-serif;margin-bottom:4px;}
.event-row .meta{font-size:13px;color:var(--gray);}
.event-row .rsvp{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;border-bottom:1px solid #111;}

/* Giving */
.giving-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);margin-top:20px;}
.giving-card{background:var(--white);padding:36px;text-align:center;}
.giving-card h3{font-size:20px;margin-bottom:10px;}
.giving-card p{font-size:14px;color:#555;}
.giving-note{max-width:640px;margin:40px auto 0;text-align:center;color:var(--gray);font-size:14px;}

/* FAQ */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;}
.faq-item{border-top:1px solid var(--line-dark);padding:22px 0;}
.faq-item:last-child{border-bottom:1px solid var(--line-dark);}
.faq-item summary{cursor:pointer;font-size:17px;font-weight:400;list-style:none;position:relative;padding-right:28px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';position:absolute;right:0;top:0;font-size:20px;color:var(--gray);}
.faq-item[open] summary::after{content:'\2212';}
.faq-item p{margin-top:14px;color:#555;font-size:15px;max-width:640px;}

/* Contact / location */
.contact-band{background:var(--black);color:var(--white);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;}
.contact-grid h1,.contact-grid h2{color:var(--white);}
.contact-item{margin-bottom:28px;}
.contact-item .k{font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:#999;margin-bottom:6px;}
.contact-item .v{font-size:17px;}
.social-row{display:flex;gap:16px;margin-top:32px;}
.social-row a{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;}
.map-block{position:relative;background:#161616;display:flex;align-items:center;justify-content:center;color:#666;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;min-height:320px;border:1px solid var(--line);overflow:hidden;}
.map-block iframe{width:100%;height:100%;min-height:320px;border:none;filter:grayscale(0.85) contrast(1.05) brightness(0.95);}
.waze-btn{
  position:absolute;bottom:16px;right:16px;z-index:2;
  background:var(--white);color:var(--black);
  padding:10px 18px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;
  border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,0.35);transition:.2s;
}
.waze-btn:hover{background:#e6e6e6;}
@media (max-width:600px){
  .waze-btn{bottom:12px;right:12px;padding:9px 14px;font-size:11px;}
}

.contact-form{display:flex;flex-direction:column;gap:16px;}
.contact-form input,.contact-form textarea{
  background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--white);
  padding:12px 0;font-family:'Inter',sans-serif;font-size:15px;font-weight:300;
}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#888;}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--white);}
.contact-form textarea{resize:vertical;min-height:100px;}
.contact-form .form-head{font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:#999;margin-bottom:-4px;}
.contact-form .form-row{display:flex;gap:20px;}
.contact-form .form-row input{flex:1;min-width:0;}
.contact-form input[type="date"],.contact-form input[type="number"]{color-scheme:dark;}
.contact-form .checkbox-row{display:flex;align-items:center;gap:10px;font-size:14px;color:#ccc;cursor:pointer;}
.contact-form .checkbox-row input{width:16px;height:16px;flex-shrink:0;accent-color:var(--white);border:none;padding:0;}
@media (max-width:600px){
  .contact-form .form-row{flex-direction:column;gap:16px;}
}

/* Footer */
footer{padding:40px 0;border-top:1px solid var(--line-dark);}
.footer-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--gray);letter-spacing:0.05em;flex-wrap:wrap;gap:12px;}

@media (max-width:760px){
  .about-grid,.contact-grid,.sermons-grid,.ministries-grid,.giving-grid{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr;gap:28px;}
  .info-grid .item{border-right:none;border-bottom:1px solid var(--line);padding-bottom:28px;}
  .info-grid .item:last-child{border-bottom:none;padding-bottom:0;}
  .event-row{grid-template-columns:70px 1fr;}
  .event-row .rsvp{grid-column:2/3;}
  section{padding:70px 0;}
}
