body.contact-page{background:#07040d;color:#fff;}
.contact-page{--pad:clamp(20px,5vw,72px);}
.contact-page h1,.contact-page h2{font-family:'Montserrat',sans-serif;font-weight:900;letter-spacing:-.045em;line-height:1.02;}

.ct{position:relative;padding:calc(var(--mv-nav-h) + clamp(32px,7vh,72px)) var(--pad) clamp(56px,9vh,100px);overflow:hidden;}
.ct-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 60% at 12% 18%,rgba(124,63,201,.38),transparent 70%),radial-gradient(40% 50% at 95% 90%,rgba(232,162,61,.12),transparent 70%);}
.ct-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,96px);max-width:1380px;margin:0 auto;align-items:start;}

.ct-intro h1{font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:.94;text-wrap:balance;text-shadow:0 6px 40px rgba(0,0,0,.5);}
.ct-intro>p{margin-top:20px;max-width:46ch;font-size:1.02rem;line-height:1.65;color:rgba(248,245,252,.78);}

.ct-details{display:grid;gap:26px;margin-top:clamp(32px,6vh,56px);}
.ct-details>div{padding-top:22px;border-top:1px solid rgba(255,255,255,.16);}
.ct-details h2{font-family:inherit;font-size:.9rem;font-weight:800;letter-spacing:0;color:var(--mv-ember-400);margin-bottom:8px;}
.ct-details p{font-size:1.05rem;font-weight:600;line-height:1.55;color:rgba(248,245,252,.92);}
.ct-details p a:hover{color:var(--mv-ember-400);}
.ct-link{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:.88rem;font-weight:800;color:#fff;border-bottom:2px solid var(--mv-ember-500);padding-bottom:2px;}
.ct-link svg{width:14px;height:14px;transition:transform .3s var(--mv-ease);}
.ct-link:hover svg{transform:translate(2px,-2px);}

.ct-form{padding:clamp(24px,3.4vw,40px);border-radius:var(--mv-radius-lg);background:rgba(23,15,38,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 90px -30px rgba(0,0,0,.8);}
.ct-form h2{font-size:1.6rem;margin-bottom:24px;}
.ct-field{position:relative;margin-bottom:18px;}
.ct-field label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:700;color:rgba(248,245,252,.85);}
.ct-opt{font-weight:500;color:rgba(248,245,252,.55);}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;min-height:54px;padding:14px 16px;border-radius:12px;border:1.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;font:inherit;font-size:1rem;font-weight:500;color-scheme:dark;resize:vertical;transition:border-color .25s var(--mv-ease),background .25s var(--mv-ease);}
.ct-field textarea{min-height:130px;}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:rgba(248,245,252,.4);}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-color:var(--mv-ember-400);background:rgba(255,255,255,.11);}
.ct-hint{margin-top:8px;font-size:.88rem;line-height:1.4;color:rgba(248,245,252,.6);}
.ct-err{display:none;margin-top:8px;font-size:.9rem;font-weight:700;line-height:1.4;color:#ff8a7a;}
.ct-field.has-error .ct-err{display:block;}
.ct-field.has-error input,.ct-field.has-error textarea,.ct-field.has-error .dd-btn,.ct-field.has-error .cc-btn{border-color:#ff8a7a;}
.ct-field.has-error .ct-hint{display:none;}

.ph{position:relative;display:flex;gap:10px;}
.ph input{flex:1 1 auto;min-width:0;}
.cc-btn,.dd-btn{position:relative;display:flex;align-items:center;gap:8px;min-height:54px;border-radius:12px;border:1.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;font:inherit;font-size:1rem;font-weight:600;text-align:left;cursor:pointer;transition:border-color .25s var(--mv-ease),background .25s var(--mv-ease);}
.cc-btn{flex:0 0 auto;padding:0 12px 0 16px;}
.dd-btn{width:100%;padding:14px 52px 14px 16px;}
.cc-btn:hover,.dd-btn:hover{border-color:rgba(255,255,255,.34);}
.cc-btn:focus-visible,.dd-btn:focus-visible,.is-open>.dd-btn,.ph.is-open .cc-btn{outline:none;border-color:var(--mv-ember-400);background:rgba(255,255,255,.11);}
.cc-btn svg{width:18px;height:18px;color:var(--mv-ember-400);transition:transform .25s var(--mv-ease);}
.ph.is-open .cc-btn svg{transform:rotate(180deg);}
.dd{position:relative;}
.dd-chev{position:absolute;right:16px;top:50%;width:20px;height:20px;margin-top:-10px;color:var(--mv-ember-400);transition:transform .25s var(--mv-ease);}
.dd.is-open .dd-chev{transform:rotate(180deg);}
.dd.dd-ready select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;padding:0;border:0;}

.dd-list,.cc-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;border-radius:14px;background:#170F26;border:1.5px solid rgba(255,255,255,.16);box-shadow:0 24px 60px -16px rgba(0,0,0,.85);}
.dd-list{margin:0;padding:8px;max-height:min(300px,48vh);overflow-y:auto;list-style:none;}
.dd-list[hidden],.cc-panel[hidden]{display:none;}
.cc-panel{padding:10px;}
.ct-field .cc-search{min-height:48px;margin-bottom:8px;padding:10px 14px;border-radius:10px;}
.cc-panel .dd-list{position:static;border:0;box-shadow:none;background:none;padding:0;max-height:min(260px,42vh);}
.dd-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:9px;font-size:1rem;font-weight:600;color:rgba(248,245,252,.92);cursor:pointer;}
.dd-opt.is-active{background:rgba(255,255,255,.1);}
.dd-opt[aria-selected="true"]{color:var(--mv-ember-400);}
.dd-opt[aria-selected="true"]:not(.cc-opt)::after{content:'';flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--mv-ember-500);}
.cc-dial{flex:0 0 auto;font-variant-numeric:tabular-nums;color:rgba(248,245,252,.6);}
.cc-empty{padding:14px;font-size:.95rem;color:rgba(248,245,252,.6);}
.ct-submit{width:100%;margin-top:6px;padding:16px 28px;}
.ct-status{margin-top:14px;min-height:1.3em;font-size:.88rem;font-weight:700;line-height:1.45;}
.ct-status.is-success{color:var(--mv-steam-400);}
.ct-status.is-error{color:#ff8a7a;}

.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center;max-width:1380px;margin:0 auto;padding:0 var(--pad) clamp(64px,10vh,110px);}
.visit-photo{border-radius:var(--mv-radius-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 90px -30px rgba(0,0,0,.8);}
.visit-photo img{width:100%;height:100%;object-fit:cover;}
.visit-copy h2{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(1.9rem,3.8vw,3rem);letter-spacing:-.045em;line-height:1.02;}
.visit-copy>p{margin-top:14px;max-width:40ch;line-height:1.65;color:rgba(248,245,252,.75);}
.visit-points{margin:24px 0 28px;display:grid;gap:0;}
.visit-points li{display:flex;flex-direction:column;gap:2px;padding:16px 0;border-top:1px solid rgba(255,255,255,.14);}
.visit-points li:last-child{border-bottom:1px solid rgba(255,255,255,.14);}
.visit-points strong{font-size:1.02rem;font-weight:800;}
.visit-points span{font-size:.92rem;color:rgba(248,245,252,.68);}
@media(max-width:900px){.visit{grid-template-columns:1fr;}}

.ct-faq{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(32px,6vw,96px);max-width:1380px;margin:0 auto;padding:0 var(--pad) clamp(64px,10vh,110px);}
.ct-faq-lead h2{font-size:clamp(1.9rem,3.8vw,3rem);}
.ct-faq-lead p{margin-top:14px;max-width:32ch;line-height:1.6;color:rgba(248,245,252,.65);}

.faq-item{border-top:1px solid rgba(255,255,255,.16);}
.faq-item:last-child{border-bottom:1px solid rgba(255,255,255,.16);}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 2px;text-align:left;font-size:1.05rem;font-weight:800;color:#fff;transition:color .25s var(--mv-ease);}
.faq-question:hover{color:var(--mv-ember-400);}
.faq-question svg{width:20px;height:20px;flex-shrink:0;color:var(--mv-ember-400);transition:transform .3s var(--mv-ease);}
.faq-question[aria-expanded="true"] svg{transform:rotate(180deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--mv-ease);}
.faq-answer p{padding:0 2px 24px;max-width:56ch;font-size:.95rem;line-height:1.65;color:rgba(248,245,252,.72);}

@media(max-width:900px){
  .ct-grid,.ct-faq{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .ct{padding-top:calc(var(--mv-nav-h) + 24px);}
  .ct-details p{font-size:1rem;}
}
@media(prefers-reduced-motion:reduce){
  .faq-question svg,.faq-answer,.ct-link svg{transition:none;}
}

.church-link{color:inherit;}
.visit-actions{display:flex;flex-wrap:wrap;gap:12px;}
@media(max-width:560px){
  .ct-form{padding:22px 18px;}
  .cc-btn{padding:0 10px 0 12px;font-size:.95rem;gap:6px;}
  .ph{gap:8px;}
  .visit-actions{flex-wrap:nowrap;gap:10px;}
  .visit-actions .btn{flex:1 1 0;padding:13px 10px;font-size:.86rem;white-space:nowrap;}
}
