:root {
  --green-950: #004b3a;
  --green-900: #006747;
  --green-800: #007f58;
  --green-700: #008c64;
  --green-600: #16a078;
  --green-500: #2caf89;
  --green-100: #e8f5f0;
  --green-50: #f2faf7;
  --sand: #c9c09d;
  --ink-900: #102f28;
  --ink-700: #3d5b53;
  --ink-500: #73847f;
  --line: #dce9e4;
  --surface: #ffffff;
  --page: #f5faf8;
  --danger: #b42318;
  --radius-xl: 26px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --shadow-lg: 0 24px 64px rgba(0, 86, 59, .10);
  --shadow-md: 0 12px 34px rgba(0, 86, 59, .075);
}

* { box-sizing: border-box; min-width: 0; }
html { width: 100%; max-width: 100%; overflow-x: hidden; background: var(--page); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; width: 100%; max-width: 100%; min-height: 100dvh; overflow-x: hidden; direction: rtl; background: var(--page); color: var(--ink-900); font-family: "IBM Plex Sans Arabic", "Tajawal", Tahoma, Arial, sans-serif; line-height: 1.65; }
button, input, textarea { font: inherit; }
button, input, textarea, a { -webkit-tap-highlight-color: transparent; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }

.site-bg { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; background: radial-gradient(circle at 86% 4%, rgba(44,175,137,.085), transparent 25%), linear-gradient(180deg,#f9fcfb 0%,#f3f9f7 100%); }
.site-shell { width: 100%; max-width: 1180px; margin: 0 auto; padding-inline: clamp(14px,3vw,32px); }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 22px; width: 100%; max-width: 920px; margin-inline: auto; padding: 18px 0 14px; }
.brand { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; text-decoration: none; }
.brand-logo { width: 148px; height: 84px; object-fit: contain; object-position: center; }
.main-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; width: min(100%,390px); padding: 5px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(0,80,54,.045); }
.main-nav a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 12px; border-radius: 11px; color: var(--ink-700); font-size: 14px; font-weight: 600; text-align: center; text-decoration: none; white-space: nowrap; transition: background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease; }
.main-nav a.active { background: linear-gradient(135deg,var(--green-700),var(--green-800)); color: #fff; box-shadow: 0 8px 18px rgba(0,140,100,.17); }
.page-column { width: 100%; max-width: 920px; margin-inline: auto; }
.hero-panel { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 28px; width: 100%; min-height: 178px; margin: 12px 0 18px; overflow: hidden; padding: 32px 36px; border-radius: var(--radius-xl); background: linear-gradient(120deg,rgba(255,255,255,.035),rgba(255,255,255,.07)),linear-gradient(135deg,var(--green-900) 0%,var(--green-700) 60%,#39ac89 100%); box-shadow: var(--shadow-lg); animation: rise-in .55s cubic-bezier(.2,.8,.2,1) both; }
.hero-panel::before { content:""; position:absolute; inset-inline-start:-52px; inset-block-start:-92px; width:260px; height:260px; border-radius:50%; border:34px solid rgba(255,255,255,.055); z-index:-1; }
.hero-panel::after { content:""; position:absolute; inset-inline-start:90px; inset-block-start:-128px; width:300px; height:300px; border-radius:50%; border:2px solid rgba(255,255,255,.045); z-index:-1; }
.eyebrow { display:inline-block; margin-bottom:4px; color:rgba(255,255,255,.78); font-size:13px; font-weight:600; }
.hero-panel h1 { margin:0 0 8px; color:#fff; font-size:clamp(30px,4vw,44px); font-weight:700; line-height:1.3; letter-spacing:-.01em; }
.hero-panel p { max-width:680px; margin:0; color:rgba(255,255,255,.94); font-size:16px; font-weight:400; }
.hero-mark { flex:0 0 82px; display:grid; place-items:center; width:82px; height:82px; border:1px solid rgba(255,255,255,.18); border-radius:23px; background:rgba(255,255,255,.09); color:rgba(255,255,255,.96); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter:blur(8px); }
.hero-mark .lucide { width:40px; height:40px; }
.content-wrap { width:100%; }
.surface-card { width:100%; padding:clamp(22px,3.2vw,34px); border:1px solid var(--line); border-radius:var(--radius-lg); background:rgba(255,255,255,.985); box-shadow:var(--shadow-md); animation:rise-in .62s .06s cubic-bezier(.2,.8,.2,1) both; }
.completion-groups { display:grid; gap:18px; }

.choice-fieldset { margin:0 0 24px; padding:0; border:0; }
.choice-fieldset legend { display:block; width:100%; margin-bottom:9px; color:var(--ink-900); font-size:15px; font-weight:600; }
.choice-segment { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:6px; border:1px solid #cfe0da; border-radius:16px; background:#f7fbf9; }
.choice-option { position:relative; cursor:pointer; }
.choice-option input { position:absolute; opacity:0; pointer-events:none; }
.choice-content { display:flex; align-items:center; justify-content:center; gap:9px; min-height:50px; padding:10px 14px; border:1px solid transparent; border-radius:12px; color:var(--ink-700); font-size:14px; font-weight:600; transition:all .2s ease; }
.choice-content .lucide { width:19px; height:19px; }
.choice-option input:checked + .choice-content { background:#fff; border-color:#bcd8ce; color:var(--green-900); box-shadow:0 7px 18px rgba(0,90,61,.08); }
.choice-option input:focus-visible + .choice-content { outline:3px solid rgba(0,140,100,.13); outline-offset:2px; }

.field-group { margin-bottom:22px; }
.field-group label { display:block; margin-bottom:9px; color:var(--ink-900); font-size:15px; font-weight:600; }
.field-group input,.field-group textarea { display:block; width:100%; max-width:100%; border:1px solid #c8dcd4; border-radius:var(--radius-md); outline:none; background:#fff; color:var(--ink-900); padding:14px 16px; font-size:16px; line-height:1.65; transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,transform .2s ease; }
.field-group input { min-height:54px; }
.field-group textarea { min-height:182px; resize:vertical; }
.field-group input::placeholder,.field-group textarea::placeholder { color:#8b9b95; opacity:1; }
.field-group input:focus,.field-group textarea:focus { border-color:var(--green-700); box-shadow:0 0 0 4px rgba(0,140,100,.09); }
.primary-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:56px; border:0; border-radius:var(--radius-md); cursor:pointer; background:linear-gradient(135deg,var(--green-700),var(--green-800)); color:#fff; padding:13px 18px; font-size:16px; font-weight:700; box-shadow:0 10px 24px rgba(0,140,100,.18); transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,opacity .2s ease; }
.primary-btn .lucide { width:20px; height:20px; }
.primary-btn:active { transform:scale(.995); }
.primary-btn:disabled { cursor:wait; opacity:.62; box-shadow:none; }
.feedback { display:none; align-items:center; gap:12px; width:100%; margin-top:16px; padding:14px 16px; border-radius:13px; font-size:14px; }
.feedback.show { display:flex; animation:feedback-in .28s ease both; }
.success-feedback { border:1px solid #b9e1d2; background:#eff9f5; color:#0a6a4c; }
.error-feedback { border:1px solid #f0c8c2; background:#fff5f3; color:var(--danger); }
.feedback-icon { flex:0 0 30px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:rgba(0,140,100,.09); }
.feedback-icon .lucide { width:17px; height:17px; }

.section-title-row { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:22px; }
.section-kicker { display:block; margin-bottom:2px; color:var(--green-700); font-size:12px; font-weight:700; }
.section-title-row h2 { margin:0; font-size:24px; font-weight:700; line-height:1.4; }
.count-pill { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:38px; padding-inline:13px; border-radius:999px; background:var(--green-100); color:var(--green-900); font-family:Arial,sans-serif; font-size:14px; font-weight:700; }
.entity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:100%; }
.entity-card { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:112px; padding:16px 18px; border:1px solid var(--line); border-radius:17px; background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%); opacity:0; transform:translateY(8px); animation:list-in .42s var(--delay,0ms) ease forwards; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.entity-card-main { display:flex; align-items:center; gap:12px; min-width:0; }
.entity-icon { flex:0 0 42px; display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--green-100); color:var(--green-700); }
.entity-icon .lucide { width:21px; height:21px; }
.entity-card-text { min-width:0; }
.entity-card-text strong { display:block; color:var(--ink-900); font-size:14px; font-weight:600; line-height:1.55; }
.entity-card-text small { display:block; margin-top:3px; color:var(--ink-500); font-size:11.5px; }
.achievement-ring { --value:100; flex:0 0 64px; display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:conic-gradient(var(--green-700) calc(var(--value)*1%),#e3ece8 0); position:relative; box-shadow:0 4px 12px rgba(0,95,64,.10); }
.achievement-ring::before { content:""; position:absolute; inset:7px; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 1px #edf3f0; }
.achievement-ring span { position:relative; z-index:1; color:var(--green-900); font-family:Arial,sans-serif; font-size:12px; font-weight:700; }
.site-footer { display:flex; align-items:center; justify-content:center; min-height:76px; margin-top:28px; border-top:1px solid var(--line); color:#798985; font-size:12px; }
.hp-field { position:fixed!important; width:1px!important; height:1px!important; padding:0!important; margin:0!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; pointer-events:none!important; }

@media (hover:hover) {
  .main-nav a:hover { background:var(--green-50); transform:translateY(-1px); }
  .main-nav a.active:hover { background:linear-gradient(135deg,var(--green-700),var(--green-800)); }
  .primary-btn:hover { transform:translateY(-1px); box-shadow:0 14px 30px rgba(0,140,100,.23); filter:saturate(1.03); }
  .entity-card:hover { transform:translateY(-2px); border-color:#cfe2da; box-shadow:0 12px 28px rgba(0,93,63,.06); }
  .choice-option:hover .choice-content { color:var(--green-900); }
}
@keyframes rise-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@keyframes list-in { to { opacity:1; transform:translateY(0); } }
@keyframes feedback-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }

@media (max-width:780px) {
  .site-shell { padding-inline:12px; }
  .site-header { flex-direction:column; align-items:stretch; gap:10px; padding-top:10px; }
  .brand { width:100%; }
  .brand-logo { width:132px; height:76px; }
  .main-nav { width:100%; max-width:none; }
  .main-nav a { min-height:43px; padding-inline:8px; font-size:13px; white-space:normal; }
  .page-column { max-width:100%; }
  .hero-panel { min-height:0; margin:10px 0 16px; padding:26px 22px; border-radius:22px; }
  .hero-panel h1 { font-size:clamp(27px,7.3vw,35px); }
  .hero-panel p { font-size:14px; }
  .hero-mark { flex-basis:68px; width:68px; height:68px; border-radius:18px; }
  .hero-mark .lucide { width:34px; height:34px; }
  .surface-card { padding:22px 18px; }
  .entity-grid { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .site-shell { padding-inline:10px; }
  .brand-logo { width:122px; height:70px; }
  .main-nav { padding:4px; border-radius:14px; }
  .main-nav a { min-height:44px; font-size:12px; line-height:1.35; }
  .hero-panel { padding:24px 19px; }
  .hero-copy { width:100%; }
  .hero-panel h1 { font-size:clamp(26px,8vw,32px); }
  .hero-panel p { font-size:13.5px; }
  .hero-mark { display:none; }
  .surface-card { padding:20px 14px; border-radius:17px; }
  .choice-fieldset legend,.field-group label { font-size:14px; }
  .choice-segment { gap:5px; padding:5px; }
  .choice-content { min-height:48px; padding:9px 8px; gap:7px; font-size:12.5px; }
  .choice-content .lucide { width:17px; height:17px; }
  .field-group { margin-bottom:18px; }
  .field-group input,.field-group textarea { font-size:16px; padding:13px 14px; }
  .field-group input { min-height:52px; }
  .field-group textarea { min-height:158px; }
  .primary-btn { min-height:54px; font-size:15px; }
  .section-title-row h2 { font-size:21px; }
  .entity-card { min-height:102px; padding:14px 13px; gap:12px; }
  .entity-icon { flex-basis:38px; width:38px; height:38px; }
  .entity-card-text strong { font-size:13.5px; }
  .achievement-ring { flex-basis:58px; width:58px; height:58px; }
  .achievement-ring span { font-size:11.5px; }
  .site-footer { min-height:68px; margin-top:24px; }
}
@media (max-width:360px) {
  .site-shell { padding-inline:8px; }
  .main-nav a { font-size:11.2px; }
  .hero-panel { padding:22px 16px; border-radius:19px; }
  .hero-panel h1 { font-size:25px; }
  .hero-panel p { font-size:13px; }
  .surface-card { padding:17px 12px; }
  .choice-content { font-size:11.8px; }
  .entity-card { padding-inline:11px; }
  .entity-icon { display:none; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* V6 refinements */
.eyebrow { max-width: 760px; }
@media (max-width:520px){
  .eyebrow{font-size:11.5px;line-height:1.55}
  .site-footer{padding-inline:14px;text-align:center;line-height:1.55}
}
