/* كفو - تمويل الشركات */

@font-face{
  font-family:'Thmanyah Sans';
  src:url('../assets/fonts/thmanyahsans-Light.woff2') format('woff2');
  font-weight:300;
  font-display:swap;
}
@font-face{
  font-family:'Thmanyah Sans';
  src:url('../assets/fonts/thmanyahsans-Regular.woff2') format('woff2');
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:'Thmanyah Sans';
  src:url('../assets/fonts/thmanyahsans-Medium.woff2') format('woff2');
  font-weight:500;
  font-display:swap;
}
@font-face{
  font-family:'Thmanyah Sans';
  src:url('../assets/fonts/thmanyahsans-Bold.woff2') format('woff2');
  font-weight:700;
  font-display:swap;
}
@font-face{
  font-family:'Thmanyah Sans';
  src:url('../assets/fonts/thmanyahsans-Black.woff2') format('woff2');
  font-weight:900;
  font-display:swap;
}

:root{
  --green:#006837;
  --green-dark:#004d29;
  --gold:#b26f32;
  --gold-light:#f4e9dc;
  --ink:#111111;
  --gray:#5f6368;
  --line:#e7e5e0;
  --bg:#ffffff;
  --bg-soft:#f8f7f4;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,30,15,0.08);
}

*{box-sizing:border-box;margin:0;padding:0;}

html{scroll-behavior:smooth;}

body{
  font-family:'Thmanyah Sans',Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.7;
  direction:rtl;
  text-align:right;
}

img{max-width:100%;display:block;}

a{color:inherit;text-decoration:none;}

ul{list-style:none;}

.container{
  width:100%;
  max-width:1160px;
  margin:0 auto;
  padding:0 24px;
}

/* ===== Header ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,0.98);
  border-bottom:1px solid var(--line);
}

.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:78px;
}

.brand{
  display:flex;
  align-items:center;
}

.logo-img{height:52px;width:auto;}

@media(max-width:860px){
  .logo-img{height:44px;}
}

.main-nav{
  display:flex;
  align-items:center;
  gap:32px;
}

.main-nav a{
  font-weight:500;
  font-size:16px;
  color:var(--ink);
  transition:color .15s;
}

.main-nav a:hover{color:var(--green);}

.main-nav a.current{color:var(--green);font-weight:700;}

.nav-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--green);
  color:#fff !important;
  padding:11px 22px;
  border-radius:999px;
  font-weight:700;
  transition:background .15s, transform .15s;
}

.nav-cta:hover{background:var(--green-dark);transform:translateY(-1px);}

.nav-toggle{
  display:none;
  background:none;
  border:none;
  font-size:26px;
  cursor:pointer;
  color:var(--green);
}

@media(max-width:860px){
  .main-nav{
    position:fixed;
    inset:78px 0 0 0;
    z-index:60;
    background:#fff;
    flex-direction:column;
    align-items:flex-start;
    padding:28px 24px;
    gap:22px;
    transform:translateY(-110%);
    transition:transform .25s ease;
    border-bottom:1px solid var(--line);
  }
  .main-nav.open{transform:translateY(0);}
  .nav-toggle{display:block;}
}

/* ===== Hero ===== */
.hero{
  padding:90px 0 70px;
  background:
    radial-gradient(700px 400px at 85% -10%, var(--gold-light), transparent 60%),
    var(--bg-soft);
}

.hero .container{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:56px;
  align-items:center;
}

.hero h1{
  font-size:44px;
  font-weight:900;
  line-height:1.35;
  color:var(--ink);
  margin-bottom:22px;
}

.hero p{
  font-size:18px;
  color:var(--gray);
  max-width:520px;
  margin-bottom:34px;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--green);
  color:#fff;
  font-weight:700;
  font-size:17px;
  padding:16px 32px;
  border-radius:999px;
  border:none;
  cursor:pointer;
  transition:background .15s, transform .15s;
}

.btn:hover{background:var(--green-dark);transform:translateY(-2px);}

.btn.outline{
  background:transparent;
  color:var(--green);
  border:2px solid var(--green);
}

.btn.outline:hover{background:var(--green);color:#fff;}

.hero-art{
  aspect-ratio:600/393;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}

.hero-art img{width:100%;height:100%;object-fit:cover;}

/* ===== Section heading ===== */
.section{
  padding:80px 0;
}

.section-head{
  text-align:center;
  max-width:640px;
  margin:0 auto 56px;
}

.section-head h2{
  font-size:32px;
  font-weight:900;
  margin-bottom:14px;
  color:var(--ink);
}

.section-head p{
  color:var(--gray);
  font-size:17px;
}

.section.soft{background:var(--bg-soft);}

/* ===== Process steps ===== */
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}

.step-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px 24px;
  position:relative;
}

.step-num{
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}

.step-card h3{
  font-size:18px;
  font-weight:700;
  margin-bottom:10px;
}

.step-card p{
  color:var(--gray);
  font-size:15px;
}

@media(max-width:960px){
  .steps{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .steps{grid-template-columns:1fr;}
  .hero .container{grid-template-columns:1fr;}
  .hero{padding:56px 0 40px;}
  .hero h1{font-size:32px;}
}

/* ===== Why cards ===== */
.why-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.why-card{
  text-align:center;
  padding:36px 24px;
}

.why-card img{
  width:72px;
  height:72px;
  margin:0 auto 20px;
}

.why-card h3{
  font-size:19px;
  font-weight:700;
  margin-bottom:10px;
}

.why-card p{
  color:var(--gray);
  font-size:15px;
}

@media(max-width:800px){
  .why-grid{grid-template-columns:1fr;}
}

/* ===== CTA band ===== */
.cta-band{
  background:var(--green);
  color:#fff;
  border-radius:var(--radius);
  padding:56px 40px;
  text-align:center;
  margin:0 24px;
}

.cta-band h2{font-size:28px;font-weight:900;margin-bottom:14px;}
.cta-band p{opacity:.9;margin-bottom:26px;}
.cta-band .btn{background:#fff;color:var(--green);}
.cta-band .btn:hover{background:var(--gold-light);}

/* ===== About page ===== */
.prose{max-width:820px;margin:0 auto;}
.prose h1{font-size:36px;font-weight:900;margin-bottom:26px;}
.prose p{color:var(--gray);font-size:17px;margin-bottom:20px;}

.value-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:20px;
}
.value-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
}
.value-card h3{color:var(--green);font-size:20px;font-weight:900;margin-bottom:12px;}
.value-card p{color:var(--gray);}

@media(max-width:700px){.value-grid{grid-template-columns:1fr;}}

/* ===== Request form ===== */
.form-wrap{
  max-width:680px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:44px;
}

.form-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:8px;
}

.form-head img{width:52px;height:52px;}

.form-head h1{font-size:26px;font-weight:900;}

.step-indicator{
  color:var(--gray);
  font-size:14px;
  margin-bottom:30px;
}

.field{margin-bottom:22px;}

.field label{
  display:block;
  font-weight:700;
  font-size:15px;
  margin-bottom:8px;
}

.field .hint{
  display:block;
  font-weight:400;
  color:var(--gray);
  font-size:13px;
  margin-top:4px;
}

.field input[type=text],
.field input[type=tel],
.field input[type=email],
.field select{
  width:100%;
  padding:13px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  font-family:inherit;
  font-size:15px;
  background:#fff;
}

.field input:focus,
.field select:focus{
  outline:none;
  border-color:var(--green);
}

.radio-row{display:flex;gap:24px;}
.radio-row label{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:500;
  cursor:pointer;
}

.file-field{
  border:1.5px dashed var(--line);
  border-radius:10px;
  padding:16px;
}

.file-field .file-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:8px;
  padding:9px 16px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}

.file-field input[type=file]{display:none;}

.file-field .file-name{
  margin-top:8px;
  font-size:13px;
  color:var(--gray);
}

.file-req{
  font-size:12px;
  color:var(--gold);
  margin-top:6px;
}

.form-actions{
  display:flex;
  gap:14px;
  margin-top:30px;
}

.form-actions .btn.secondary{
  background:var(--bg-soft);
  color:var(--ink);
  border:1px solid var(--line);
}

.step-panel{display:none;}
.step-panel.active{display:block;}

.form-msg{
  margin-top:18px;
  padding:14px 16px;
  border-radius:10px;
  font-size:14px;
  display:none;
}
.form-msg.show{display:block;}
.form-msg.ok{background:#e7f5ec;color:var(--green-dark);}
.form-msg.err{background:#fdeceb;color:#b3261e;}

/* ===== FAQ / Terms ===== */
details{
  border:1px solid var(--line);
  border-radius:10px;
  padding:18px 22px;
  margin-bottom:14px;
  background:#fff;
}
details summary{
  cursor:pointer;
  font-weight:700;
  font-size:16px;
  list-style:none;
}
details summary::-webkit-details-marker{display:none;}
details summary::after{
  content:"+";
  float:left;
  font-size:22px;
  color:var(--green);
}
details[open] summary::after{content:"–";}
details p{color:var(--gray);margin-top:14px;font-size:15px;}
details p strong{color:var(--ink);}
details ul{margin:10px 0 10px 20px;list-style:disc;color:var(--gray);}

.terms-list li{
  color:var(--gray);
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.terms-list li:last-child{border-bottom:none;}

/* ===== Footer ===== */
.site-footer{
  background:#0c1f16;
  color:#cfe3d6;
  padding:60px 0 26px;
  margin-top:40px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:36px;
  margin-bottom:40px;
}

.footer-grid h4{
  color:#fff;
  font-size:17px;
  margin-bottom:18px;
}

.footer-grid a{
  display:block;
  color:#cfe3d6;
  margin-bottom:10px;
  font-size:14.5px;
}
.footer-grid a:hover{color:#fff;}

.social-row{display:flex;gap:14px;margin-top:16px;}
.social-row img{width:34px;height:34px;border-radius:50%;}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.12);
  padding-top:22px;
  text-align:center;
  font-size:13.5px;
  color:#95ac9f;
}

@media(max-width:800px){
  .footer-grid{grid-template-columns:1fr;}
}
