/*
Theme Name: Hello Elementor FAITH
Template: hello-elementor
Description: Small child theme for FAITH Market Research and Data Analytics. Header, footer, projects, forms and style.
Version: 1.0.0
Text Domain: hello-elementor-faith
*/
:root { --fa-dark:#1c1c1d; --fa-text:#0f0f0f; --fa-gray:#5f5f5f; --fa-red:#ff0000; --fa-brown:#b47252; --fa-night:#101719; --fa-card:#f7f8f9; --fa-purple:#412aab; }
body { font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:16px; line-height:1.5; color:var(--fa-text); }
h1,h2,h3,h4,h5,h6,.elementor-heading-title { font-family:"Maven Pro",-apple-system,system-ui,"Segoe UI",sans-serif !important; }
a { color:var(--fa-dark); }
.fa-wrap { max-width:1200px; margin:0 auto; padding:0 20px; }

/* header */
.fa-header { position:sticky; top:0; z-index:999; background:#fff; box-shadow:0 1px 0 rgba(0,0,0,.05); }
.admin-bar .fa-header { top:32px; }
.fa-header .fa-bar { display:flex; align-items:center; height:80px; padding:0 50px; gap:30px; }
.fa-header .fa-logo img { height:43px; width:auto; display:block; }
.fa-header nav { flex:1; }
.fa-header nav ul { list-style:none; margin:0 0 0 80px; padding:0; display:flex; }
.fa-header nav a { display:block; padding:11px 19px; font-size:16px; font-weight:600; color:var(--fa-dark); text-decoration:none; }
.fa-header nav a:hover, .fa-header nav .current-menu-item > a { color:#335cff; }
.fa-cta { background:var(--fa-red); color:#fff !important; padding:10px 20px; border-radius:5px; font-size:16px; text-decoration:none; white-space:nowrap; }
.fa-cta:hover { background:#d60000; }
.fa-burger { display:none; background:none; border:0; padding:8px; cursor:pointer; }
.fa-burger span { display:block; width:24px; height:2px; background:var(--fa-dark); margin:5px 0; }
@media (max-width:1024px) {
  .fa-header .fa-bar { padding:0 20px; height:70px; }
  .fa-header nav { position:absolute; left:0; right:0; top:70px; background:#fff; display:none; box-shadow:0 8px 16px rgba(0,0,0,.08); }
  .fa-header nav.is-open { display:block; }
  .fa-header nav ul { flex-direction:column; margin:0; padding:10px 0; }
  .fa-burger { display:block; margin-left:auto; }
  .fa-header .fa-cta { display:none; }
}

/* title bar on inner pages */
.fa-titlebar h1, .fa-titlebar .elementor-heading-title { letter-spacing:-.5px; }
.fa-crumbs { font-size:13px; color:var(--fa-dark); }
.fa-crumbs a { color:var(--fa-dark); text-decoration:none; }
.fa-crumbs span { margin:0 6px; color:#999; }

/* process numbers */
.fa-num { position:relative; display:inline-block; font-family:"Maven Pro",sans-serif; font-size:64px; font-weight:500; color:var(--fa-brown); line-height:1; }
.fa-num:after { content:''; position:absolute; width:52px; height:52px; border-radius:50%; background:rgba(180,114,82,.09); left:34px; top:-6px; }
.fa-readmore, .fa-readmore:hover { color:#fff !important; font-weight:600; text-decoration:none; font-size:15px; }

/* accordion */
.fa-acc details { margin-bottom:18px; }
.fa-acc summary { list-style:none; cursor:pointer; background:#f7f7f7; border-radius:30px 30px 30px 30px; padding:12px 20px; font-family:"Maven Pro",sans-serif; font-weight:600; font-size:16px; color:var(--fa-dark); position:relative; }
.fa-acc summary::-webkit-details-marker { display:none; }
.fa-acc summary:after { content:''; position:absolute; right:22px; top:50%; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-70%) rotate(45deg); }
.fa-acc details[open] summary { background:var(--fa-dark); color:#fff; border-radius:30px 30px 0 30px; }
.fa-acc details[open] summary:after { transform:translateY(-30%) rotate(-135deg); }
.fa-acc details p { padding:14px 16px 0; margin:0; color:var(--fa-gray); font-size:15px; line-height:1.6; }

/* client logos strip */
.fa-logos { overflow:hidden; position:relative; }
.fa-logos .fa-track { display:flex; width:max-content; animation:faScroll 30s linear infinite; }
.fa-logos:hover .fa-track { animation-play-state:paused; }
.fa-logos img { width:170px; height:auto; margin:0 25px; display:block; }
@keyframes faScroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.fa-logo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px 30px; align-items:center; }
.fa-logo-grid img { width:100%; max-width:125px; height:auto; margin:0 auto; display:block; }

/* project cards */
.fa-projects { display:grid; gap:24px; }
.fa-projects.home { grid-template-columns:repeat(3,1fr); }
.fa-projects.home .fa-card:nth-child(4n+1), .fa-projects.home .fa-card:nth-child(4n+4) { grid-column:span 2; }
.fa-projects.grid { grid-template-columns:repeat(3,1fr); }
.fa-card { position:relative; display:block; overflow:hidden; border-radius:4px; background:#222; aspect-ratio:409/482; text-decoration:none; }
.fa-projects.home .fa-card { aspect-ratio:auto; height:482px; }
.fa-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.fa-card:hover img { transform:scale(1.05); }
.fa-card:before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.75) 100%); z-index:1; }
.fa-card .fa-card-text { position:absolute; left:16px; right:16px; bottom:18px; z-index:2; color:#fff; }
.fa-card h4 { color:#fff; font-size:17px; line-height:1.3; margin:0; font-weight:600; }
.fa-card small { display:block; font-size:12px; opacity:.85; margin-top:4px; }
.fa-filter { text-align:center; margin-bottom:30px; }
.fa-filter span { display:inline-block; padding:6px 12px; font-size:13px; margin:0 3px; border-radius:2px; }
.fa-filter span.on { background:var(--fa-dark); color:#fff; }
@media (max-width:900px) { .fa-projects.home, .fa-projects.grid { grid-template-columns:1fr; } .fa-projects.home .fa-card { height:360px; } }

/* forms */
.fa-form label { display:block; font-size:13px; font-weight:600; color:var(--fa-dark); margin:0 0 6px; }
.fa-form input[type=text], .fa-form input[type=email], .fa-form input[type=tel], .fa-form textarea { width:100%; background:#f3f3f3; border:0; border-radius:0; padding:12px 14px; font-size:15px; margin-bottom:18px; }
.fa-form textarea { min-height:210px; }
.fa-form button { background:var(--fa-dark); color:#fff; border:0; padding:12px 50px; font-weight:700; font-size:13px; text-transform:uppercase; border-radius:0; cursor:pointer; }
.fa-form button:hover { background:#000; }
.fa-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.fa-notice { padding:10px 12px; margin:0 0 16px; font-size:14px; }
.fa-notice.ok { background:#e9f6ec; color:#1e6b33; }
.fa-notice.err { background:#fbeaea; color:#8a1f1f; }
.fa-callback { display:flex; align-items:center; gap:30px; background:var(--fa-dark); border-radius:6px; padding:30px 40px; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.fa-callback h4 { color:#fff; font-size:18px; margin:0; flex:0 0 36%; font-weight:600; }
.fa-callback form { flex:1; display:flex; align-items:flex-end; gap:24px; }
.fa-callback label { color:#fff; font-size:12px; font-weight:400; }
.fa-callback .fa-field { flex:1; }
.fa-callback input[type=tel] { background:#fff; margin:0; border-radius:3px; padding:9px 12px; }
.fa-callback button { background:var(--fa-red); padding:10px 22px; border-radius:3px; font-size:12px; text-transform:none; }
@media (max-width:767px) { .fa-callback, .fa-callback form { flex-direction:column; align-items:stretch; } }

/* footer */
.fa-footer { background:#151418; color:#fdfdfd; font-size:14px; }
.fa-footer .fa-cols { display:grid; grid-template-columns:1fr 1.9fr 1.2fr; gap:30px; padding:40px 20px 50px; max-width:1100px; margin:0 auto; }
.fa-footer h4 { color:#fff; font-size:19px; margin:10px 0 22px; font-weight:600; }
.fa-footer p { line-height:1.55; margin:18px 0 0; }
.fa-footer img.fa-flogo { width:150px; height:auto; }
.fa-footer ul { list-style:none; margin:0; padding:0; }
.fa-footer li { margin:0 0 9px; font-size:13px; }
.fa-footer li:before { content:'›'; margin-right:6px; color:#aaa; }
.fa-footer a { color:#fdfdfd; text-decoration:none; }
.fa-footer a:hover { color:#fff; text-decoration:underline; }
.fa-footer .fa-news label { color:#fff; font-size:12px; margin-bottom:6px; }
.fa-footer .fa-news input { background:#fff; margin-bottom:12px; padding:8px 12px; font-size:13px; }
.fa-footer .fa-news button { background:var(--fa-purple); padding:8px 26px; font-size:11px; border-radius:3px; }
.fa-copy { background:#121114; color:#d4d4d4; font-size:13px; }
.fa-copy .fa-wrap { display:flex; justify-content:center; align-items:center; padding:22px 20px; position:relative; }
.fa-copy .fa-ig { position:absolute; right:20px; color:#d4d4d4; }
.fa-copy .fa-ig svg { width:14px; height:14px; fill:currentColor; }
@media (max-width:900px) { .fa-footer .fa-cols { grid-template-columns:1fr; } }

/* portfolio single */
.fa-single-title { padding:90px 0 20px; }
.fa-single-title h1 { font-size:40px; line-height:1.2; margin:0 0 30px; font-weight:600; }
.fa-single-body { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:10px 0 60px; }
.fa-single-body img { width:100%; height:auto; display:block; }
.fa-single-body h3 { font-size:28px; margin:0 0 10px; font-weight:600; }
.fa-single-body h5 { font-size:18px; margin:16px 0 6px; font-weight:600; }
.fa-single-body p { font-size:14px; line-height:1.6; margin:0 0 8px; }
@media (max-width:900px) { .fa-single-body { grid-template-columns:1fr; } }
