/* Contact Faith Force: page-scoped presentation. */
.ffc-contact { --ffc-navy:#0b1425; --ffc-panel:#172840; --ffc-gold:var(--ff-brand-yellow); background:var(--ffc-navy); color:#fff; overflow:hidden; }
.ffc-contact * { box-sizing:border-box; }
.ffc-contact .container { max-width:1240px; }
.ffc-contact a:focus-visible, .ffc-contact button:focus-visible, .ffc-contact :is(input,textarea,select):focus-visible { outline:3px solid var(--ffc-gold); outline-offset:3px; }
.ffc-contact p { color:#cbd5e2; line-height:1.6; }
.ffc-contact h1,.ffc-contact h2 { color:#fff; }
.ffc-kicker { display:inline-flex; align-items:center; gap:9px; color:var(--ffc-gold); font-size:.76rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.ffc-intro { position:relative; isolation:isolate; background:radial-gradient(circle at 82% 0,rgba(122,0,1,.22),transparent 35%),linear-gradient(125deg,#0b162a,#1a2d48); border-bottom:6px solid var(--ffc-gold); }
.ffc-intro:after { content:''; position:absolute; inset:0 0 0 50%; z-index:-1; opacity:.12; background:repeating-linear-gradient(135deg,transparent 0 26px,rgba(255,255,255,.1) 26px 27px); }
.ffc-contact .ffc-intro .container.ffc-intro-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.43fr); align-items:end; gap:55px; padding-top:120px; padding-bottom:68px; }
.admin-bar .ffc-contact .ffc-intro .container.ffc-intro-inner { padding-top:152px; }
.ffc-intro h1 { margin:13px 0 12px; font-family:var(--ff-display,'Bangers',cursive); font-size:clamp(4rem,8vw,7rem); font-weight:400; letter-spacing:.035em; line-height:1; }
.ffc-intro h1 em { color:var(--ffc-gold); font-style:normal; }
.ffc-intro-copy > p { max-width:680px; margin:0; color:#e7edf4; font-size:clamp(1.05rem,1.5vw,1.23rem); }
.ffc-intro-note { position:relative; padding:20px 24px; border:1px solid rgba(212,160,23,.38); border-radius:14px; background:#24354d; transform:rotate(2deg); }
.ffc-intro-note > span { display:block; margin-bottom:8px; color:var(--ffc-gold); font-size:1.9rem; line-height:1; }
.ffc-intro-note p { margin:0; color:#f3f5f8; font-size:.91rem; }
.ffc-intro-note a { color:var(--ffc-gold); font-weight:800; overflow-wrap:anywhere; }
.ffc-main { padding:clamp(42px,6vw,88px) 0 clamp(70px,8vw,110px); background:radial-gradient(circle at 0 100%,rgba(122,0,1,.14),transparent 35%),var(--ffc-navy); }
.ffc-grid { display:grid; grid-template-columns:minmax(0,1.42fr) minmax(270px,.72fr); gap:clamp(26px,5vw,70px); align-items:start; }
.ffc-form-panel { min-width:0; padding:clamp(24px,3.3vw,42px); border:1px solid rgba(212,160,23,.24); border-radius:18px; background:linear-gradient(150deg,#1c2b43,#132137); box-shadow:0 20px 50px rgba(0,0,0,.16); }
.ffc-form-panel h2,.ffc-side h2 { margin:10px 0; font-family:var(--ff-display,'Bangers',cursive); font-size:clamp(2.3rem,4vw,3.6rem); font-weight:400; letter-spacing:.025em; line-height:1.05; }
.ffc-form-intro { margin:0 0 24px; max-width:660px; }
.ffc-contact .ffc-form-panel .fluentform .ff-el-input--label label { color:#eef2f7; font-weight:700; }
.ffc-contact .ffc-form-panel .fluentform :is(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],select,textarea) { width:100%; max-width:100%; min-height:46px; padding:11px 14px; border:1px solid #7e92a9; border-radius:8px; background:#fff; color:#132137; font-size:1rem; }
.ffc-contact .ffc-form-panel .fluentform textarea { min-height:135px; resize:vertical; }
.ffc-contact .ffc-form-panel .fluentform :is(input,select,textarea)::placeholder { color:#68768a; opacity:1; }
.ffc-contact .ffc-form-panel .fluentform .ff-btn-submit { min-height:48px; padding:12px 22px; border:0; border-radius:8px; background:var(--ffc-gold); color:#142037; font-weight:800; cursor:pointer; transition:transform .2s ease,background .2s ease; }
.ffc-contact .ffc-form-panel .fluentform .ff-btn-submit:hover { background:var(--ff-brand-yellow); transform:translateY(-2px); }
.ffc-contact .ffc-form-panel .fluentform .error, .ffc-contact .ffc-form-panel .fluentform .ff-el-is-error .error { color:#ffb4b4; }
.ffc-form-fallback { margin:20px 0 0; padding:20px; border:1px solid rgba(212,160,23,.4); border-radius:9px; background:rgba(212,160,23,.08); }
.ffc-form-fallback a { color:var(--ffc-gold); font-weight:800; }
.ffc-side { display:flex; flex-direction:column; gap:19px; }
.ffc-side-card,.ffc-social-card { padding:clamp(23px,2.7vw,30px); border:1px solid rgba(255,255,255,.13); border-radius:16px; background:#182840; }
.ffc-email-card { background:radial-gradient(circle at 100% 0,rgba(212,160,23,.15),transparent 55%),#182840; border-color:rgba(212,160,23,.3); }
.ffc-side-icon { display:grid; place-items:center; width:45px; height:45px; border-radius:12px; background:rgba(212,160,23,.13); color:var(--ffc-gold); font-size:1.45rem; transform:rotate(-7deg); }
.ffc-side h2 { font-size:2.05rem; }
.ffc-side p { margin:0 0 16px; font-size:.94rem; }
.ffc-side a:not(.social-link) { color:var(--ffc-gold); font-weight:800; overflow-wrap:anywhere; }
.ffc-side a:not(.social-link):hover { color:var(--ff-brand-yellow); }
.ffc-social-card h2 { margin-top:0; }
.ffc-social-card .socials { margin-top:9px; }
@media (min-width:701px) { .ffc-grid { align-items:stretch; } .ffc-side { justify-content:space-between; } }
@media (max-width:850px) { .ffc-contact .ffc-intro .container.ffc-intro-inner { gap:30px; } .ffc-grid { grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr); gap:25px; } }
@media (max-width:700px) { .ffc-contact .ffc-intro .container.ffc-intro-inner { grid-template-columns:1fr; gap:25px; padding-top:102px; padding-bottom:44px; } .admin-bar .ffc-contact .ffc-intro .container.ffc-intro-inner { padding-top:134px; } .ffc-intro-note { max-width:430px; transform:rotate(1deg); } .ffc-grid { grid-template-columns:1fr; } .ffc-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .ffc-social-card { grid-column:1/-1; } }
@media (max-width:520px) { .ffc-contact .ffc-intro .container.ffc-intro-inner { padding-top:96px; padding-bottom:39px; } .admin-bar .ffc-contact .ffc-intro .container.ffc-intro-inner { padding-top:128px; } .ffc-intro h1 { font-size:clamp(3.8rem,16vw,5.3rem); } .ffc-main { padding-top:30px; } .ffc-side { grid-template-columns:1fr; } .ffc-social-card { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { .ffc-contact *, .ffc-contact *:before, .ffc-contact *:after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
