@import url('https://fonts.googleapis.com/css2?family=Amiri:wght@700&family=Tajawal:wght@400;500;700;800&display=swap');
:root{
  color-scheme:light;
  --deep:#0e3b39;--deep2:#15524d;--teal:#1f6d66;
  --gold:#c8963e;--gold2:#e9c46a;--goldsoft:#f6ecd6;
  --ink:#1d2f2d;--muted:#6f7f7b;--line:#e4ddcc;--paper:#fffdf8;--field:#fbf8f1;
  --red:#b3392f;--ok:#1f7a55;
}
*{box-sizing:border-box}
html,body{width:100%;max-width:100%;min-width:0;margin:0;background:transparent}
body{color:var(--ink);font-family:'Tajawal',Tahoma,Arial,sans-serif;padding:0}
button,input,textarea{font:inherit;-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
svg .duo{fill:currentColor;opacity:.16;stroke:none}
[hidden]{display:none!important}

.page{width:100%;max-width:760px;margin:0 auto;padding:14px 10px}
.qa-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 18px 40px -22px #0e3b3955}

/* Header */
.qa-head{position:relative;overflow:hidden;text-align:center;color:#f4ecd8;padding:34px 26px 30px;
  background:radial-gradient(120% 90% at 50% -10%,#1f6d66 0%,var(--deep2) 45%,var(--deep) 100%)}
.qa-head::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,transparent,var(--gold),var(--gold2),var(--gold),transparent)}
.head-star{position:absolute;fill:var(--gold2);stroke:none;opacity:.09;width:190px;height:190px;animation:spin 60s linear infinite}
.head-star.s1{top:-70px;inset-inline-start:-60px}
.head-star.s2{bottom:-90px;inset-inline-end:-70px;width:230px;height:230px;animation-direction:reverse}
.head-badge{position:relative;width:64px;height:64px;margin:0 auto 12px;display:grid;place-items:center}
.head-badge svg{position:absolute;inset:0;width:64px;height:64px;fill:var(--gold);stroke:none;filter:drop-shadow(0 4px 10px #0006);animation:spin 24s linear infinite}
.head-badge span{position:relative;font-family:'Amiri',serif;font-size:30px;font-weight:700;color:var(--deep);line-height:1;margin-top:4px}
.qa-head h2{position:relative;font-family:'Amiri','Tajawal',serif;font-size:34px;line-height:1.5;margin:0 0 10px;color:var(--gold2);font-weight:700;text-shadow:0 2px 8px #0005}
.qa-head p{position:relative;max-width:600px;margin:0 auto;font-size:14.5px;line-height:2;color:#e5ddc9;overflow-wrap:anywhere}

/* Form */
#contact-form{position:relative;padding:22px 22px 24px}
.step{border:0;margin:0 0 18px;padding:18px 16px 6px;background:#fff;border:1px solid var(--line);border-radius:16px;min-width:0}
.step legend{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;color:var(--deep2);padding:0 8px;background:#fff;border-radius:20px}
.step-no{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--deep2);color:var(--gold2);font-size:14px;box-shadow:0 0 0 3px var(--goldsoft)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.field{min-width:0;margin-bottom:14px}
.field.wide{grid-column:1/-1}
.field label{display:block;font-size:14px;font-weight:700;margin-bottom:7px;color:var(--ink)}
.req{color:var(--red);font-style:normal;font-weight:800}
.opt{font-style:normal;font-size:11px;font-weight:500;color:var(--muted);background:#eef1ef;border-radius:20px;padding:2px 8px;margin-inline-start:4px}
.control{position:relative;display:flex;align-items:center}
.control .ico{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:var(--teal);display:grid;place-items:center;pointer-events:none;transition:color .2s,transform .2s}
.control.area .ico{top:14px;transform:none}
.control .ico svg{width:20px;height:20px}
input,textarea{width:100%;min-width:0;border:1.5px solid var(--line);border-radius:12px;background:var(--field);color:var(--ink);outline:none;font-size:14.5px;
  padding:12px 14px;padding-inline-start:42px;transition:border-color .2s,box-shadow .2s,background .2s}
input{height:48px}
textarea{resize:vertical;min-height:140px;line-height:1.9}
input::placeholder,textarea::placeholder{color:#a9aea5;opacity:1}
input:focus,textarea:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px #c8963e22}
.control:focus-within .ico{color:var(--gold)}
input[dir=ltr]{text-align:right;padding-left:14px;padding-right:42px}
#email{font-family:Arial,Tahoma,sans-serif;font-size:14px}
.hint{display:flex;gap:7px;align-items:flex-start;margin:8px 0 0;font-size:12.5px;line-height:1.8;color:#7a5a1e;background:var(--goldsoft);border-radius:10px;padding:8px 10px;overflow-wrap:anywhere}
.hint svg{width:17px;height:17px;margin-top:3px;color:var(--gold)}
.under{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.count{font-size:11.5px;color:var(--muted);margin-top:6px;margin-inline-start:auto;direction:ltr;white-space:nowrap}
.error{display:block;color:var(--red);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.error:not(:empty){margin-top:6px}
[aria-invalid=true]{border-color:#d0766d;background:#fff8f7}

/* Verification */
.verify{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.verify-q{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;flex:1;min-width:200px}
.verify-q .ico{color:var(--gold)}
.verify-q label{margin:0}
#question{font-family:Arial,sans-serif;font-size:18px;letter-spacing:2px;background:var(--deep2);color:var(--gold2);padding:4px 14px;border-radius:10px}
#refresh{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--teal);transition:transform .4s,border-color .2s}
#refresh:hover:not(:disabled){transform:rotate(180deg);border-color:var(--gold)}
#refresh svg{width:18px;height:18px}
#answer{width:130px;padding-inline-start:14px;text-align:center;font-size:17px;font-weight:700}

/* Status + submit */
#status{padding:12px 14px;border-radius:12px;margin-bottom:14px;font-size:14px;line-height:1.8;background:#fdeeed;color:#8f2f27;border-inline-start:4px solid var(--red);overflow-wrap:anywhere}
#status.success{color:#195b41;background:#e8f4ee;border-color:var(--ok)}
.submit{position:relative;overflow:hidden;border:0;border-radius:14px;width:100%;padding:16px;display:flex;align-items:center;justify-content:center;gap:12px;
  font-weight:800;font-size:16.5px;color:var(--deep);background:linear-gradient(135deg,var(--gold2),var(--gold));box-shadow:0 10px 22px -10px #c8963eaa;transition:transform .2s,box-shadow .2s,filter .2s}
.submit::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff7 50%,transparent 70%);transform:translateX(120%);transition:transform .8s}
.submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 26px -10px #c8963ecc}
.submit:hover:not(:disabled)::before{transform:translateX(-120%)}
.submit:disabled{filter:grayscale(.5);opacity:.6;cursor:wait}
.submit svg{width:22px;height:22px;transform:scaleX(-1)}
.form-foot{text-align:center;font-size:12px;color:var(--muted);margin:12px 0 0}
.trap{position:absolute;top:0;inset-inline-start:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.notice{color:var(--red);padding:0 22px}

/* Sending overlay with percentage ring */
/* Content sits near the bottom, where the visitor just pressed the button. */
.sending{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:24px 24px 70px;
  background:radial-gradient(circle at 50% 40%,#15524df2,#0e3b39fa);color:#f4ecd8;backdrop-filter:blur(3px);animation:fade .35s ease}
.ring-wrap{position:relative;width:190px;height:190px;margin-bottom:18px}
.ring{width:190px;height:190px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:8}
.ring-bg{stroke:#ffffff1c}
.ring-fg{stroke:url(#ringGrad);stroke-linecap:round;stroke-dasharray:326.73;stroke-dashoffset:326.73;filter:drop-shadow(0 0 6px #e9c46a88)}
.ring-star{position:absolute;inset:28px;width:134px;height:134px;fill:#e9c46a;stroke:none;opacity:.1;animation:spin 8s linear infinite}
.ring-center{position:absolute;inset:0;display:grid;place-items:center}
#percent{font-size:44px;font-weight:800;color:var(--gold2);direction:ltr;font-variant-numeric:tabular-nums;text-shadow:0 2px 10px #0006}
.ring-check{display:none;width:72px;height:72px;color:var(--gold2);stroke-width:2.4;stroke-dasharray:30}
.sending.done #percent{display:none}
.sending.done .ring-check{display:block;animation:draw .6s .1s ease both}
.sending.done .ring-wrap{animation:pop .5s ease}
#progress-label{font-size:19px;font-weight:800;margin:0 0 6px;color:#fff;max-width:520px;line-height:1.8}
.sending-sub{font-size:13.5px;margin:0;color:#d9cfb6;max-width:480px;line-height:1.9}
.again{margin-top:18px;border:1.5px solid var(--gold);background:transparent;color:var(--gold2);border-radius:30px;padding:10px 26px;font-weight:700;transition:background .2s,color .2s}
.again:hover{background:var(--gold);color:var(--deep)}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes draw{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.08)}100%{transform:scale(1)}}

@media(max-width:560px){
  .page{padding:8px 4px}
  .qa-head{padding:28px 16px 24px}
  .qa-head h2{font-size:27px}
  .qa-head p{font-size:13.5px}
  #contact-form{padding:16px 12px 18px}
  .step{padding:16px 12px 4px}
  .grid{grid-template-columns:1fr}
  #answer{width:100%}
  .ring-wrap,.ring{width:160px;height:160px}
  .ring-star{inset:24px;width:112px;height:112px}
  #percent{font-size:38px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
