/* ===========================================================
   QMSofts — company site shared styles
   Brand: Qirat-inspired — manuscript navy, qirat gold, emerald.
   Fonts: Cormorant Garamond (display) + Plus Jakarta Sans (body)
   =========================================================== */
:root{
  --ink:#0E1430;
  --ink2:#1A2456;
  --ink3:#11183A;
  --gold:#C9A24B;
  --gold-light:#E6C878;
  --emerald:#1E8A6E;
  --emerald-deep:#0F5E4A;
  --paper:#FBF8F1;
  --paper2:#F4EEE1;
  --line:#E4DCC8;
  --muted:#6B7280;
  --text:#2A2F45;
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans',sans-serif;color:var(--text);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;}
.serif{font-family:'Cormorant Garamond',serif;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.emerald-dots{display:inline-flex;gap:6px;align-items:center;}
.emerald-dots i{width:7px;height:7px;border-radius:50%;background:var(--emerald);display:block;}

/* ---------- Logo mark ---------- */
.qmark{position:relative;width:46px;height:46px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.qmark .star{position:absolute;inset:0;}
.qmark .q{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:30px;color:var(--gold);line-height:1;position:relative;}
.qmark .nuqta{position:absolute;top:3px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--gold);}
.logo{display:flex;align-items:center;gap:12px;}
.logo .name{font-weight:800;font-size:19px;letter-spacing:2px;color:#fff;}
.logo .name .os{color:var(--gold-light);}
.logo .sub{font-size:8px;letter-spacing:4px;color:var(--gold-light);margin-top:2px;}
.logo.dark .name{color:var(--ink);}

/* ---------- Header / nav ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(14,20,48,.86);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,162,75,.18);}
nav{display:flex;align-items:center;justify-content:space-between;height:74px;}
.navlinks{display:flex;align-items:center;gap:34px;}
.navlinks a{color:#D7DBEC;font-size:14.5px;font-weight:500;letter-spacing:.3px;position:relative;padding:4px 0;transition:color .2s;}
.navlinks a:hover{color:#fff;}
.navlinks a.active{color:var(--gold-light);}
.navlinks a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold);}
.nav-cta{background:var(--emerald);color:#fff !important;padding:10px 20px;border-radius:30px;font-size:14px;font-weight:600;transition:transform .2s,background .2s;}
.nav-cta:hover{background:var(--emerald-deep);transform:translateY(-1px);}
.menu-btn{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;padding:13px 26px;border-radius:32px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;border:none;}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--ink);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(201,162,75,.35);}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(201,162,75,.5);}
.btn-ghost:hover{background:rgba(201,162,75,.1);border-color:var(--gold);}

/* ---------- Section headings ---------- */
.kicker{display:inline-flex;align-items:center;gap:11px;font-size:11px;letter-spacing:5px;text-transform:uppercase;color:var(--emerald);font-weight:700;margin-bottom:16px;}
.kicker .rule{width:34px;height:1px;background:var(--gold);}
h1,h2,h3{font-family:'Cormorant Garamond',serif;color:var(--ink);font-weight:600;letter-spacing:-.5px;line-height:1.04;}
.section{padding:92px 0;}
.section h2{font-size:46px;margin-bottom:18px;}
.lead{font-size:16px;color:var(--muted);max-width:620px;line-height:1.75;}

/* ---------- HERO (home) ---------- */
.hero{position:relative;overflow:hidden;color:#F4EEE1;
  background:
    radial-gradient(120% 80% at 82% -10%, #1c2a5e 0%, rgba(28,42,94,0) 55%),
    radial-gradient(90% 70% at -8% 115%, #143b32 0%, rgba(20,59,50,0) 50%),
    linear-gradient(160deg,#0B1029 0%,#0E1430 45%,#11183A 100%);}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,162,75,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,75,.05) 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(circle at 60% 40%,black,transparent 80%);}
.hero-inner{position:relative;padding:104px 0 110px;max-width:840px;}
.hero h1{font-size:78px;color:#fff;letter-spacing:-1.5px;}
.hero h1 em{font-style:italic;color:var(--gold-light);}
.hero p{margin-top:24px;font-size:18px;color:#CDD3E6;font-weight:300;max-width:600px;line-height:1.7;}
.hero-actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;}
.hero-stats{margin-top:54px;display:flex;gap:48px;flex-wrap:wrap;}
.hero-stats .s .n{font-family:'Cormorant Garamond',serif;font-size:42px;color:var(--gold-light);line-height:1;}
.hero-stats .s .l{font-size:12.5px;color:#9AA3C4;letter-spacing:1px;margin-top:6px;text-transform:uppercase;}

/* reveal animation */
.reveal{opacity:0;transform:translateY(22px);animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes rise{to{opacity:1;transform:none;}}
.d1{animation-delay:.08s}.d2{animation-delay:.18s}.d3{animation-delay:.30s}.d4{animation-delay:.42s}.d5{animation-delay:.54s}

/* ---------- Sectors strip ---------- */
.sectors{background:var(--ink);color:#CDD3E6;padding:30px 0;}
.sectors .row{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;font-family:'Cormorant Garamond',serif;font-size:24px;color:#EDE7D6;}
.sectors .row span{color:var(--gold);font-size:14px;}

/* ---------- Product cards ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:46px;}
.prod{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;}
.prod::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--gold),var(--emerald));}
.prod:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(14,20,48,.12);}
.prod .tag{display:inline-block;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--emerald);background:rgba(30,138,110,.08);padding:5px 11px;border-radius:20px;margin-bottom:14px;}
.prod h3{font-size:27px;margin-bottom:9px;}
.prod p{font-size:14px;color:var(--muted);line-height:1.65;}
.prod ul{margin-top:14px;list-style:none;display:flex;flex-wrap:wrap;gap:8px;}
.prod li{font-size:12px;color:var(--text);background:var(--paper2);border:1px solid var(--line);padding:5px 11px;border-radius:20px;}

/* ---------- Feature/value cards ---------- */
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px;}
.val{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;}
.val .ic{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--ink),var(--ink2));display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.val .ic svg{width:23px;height:23px;stroke:var(--gold-light);fill:none;stroke-width:1.7;}
.val h3{font-size:21px;margin-bottom:8px;}
.val p{font-size:13.5px;color:var(--muted);line-height:1.6;}

/* ---------- CTA band ---------- */
.cta-band{background:radial-gradient(90% 130% at 100% 0%, rgba(30,138,110,.4), rgba(30,138,110,0) 60%),linear-gradient(120deg,var(--ink),var(--ink2));color:#fff;border-radius:22px;padding:56px;text-align:center;position:relative;overflow:hidden;}
.cta-band h2{color:#fff;font-size:40px;margin-bottom:12px;}
.cta-band h2 em{color:var(--gold-light);font-style:italic;}
.cta-band p{color:#CDD3E6;max-width:520px;margin:0 auto 26px;font-size:15.5px;}

/* ---------- About ---------- */
.about-hero{padding:70px 0 0;}
.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:54px;align-items:center;margin-top:30px;}
.about-grid .photo{aspect-ratio:4/3;border-radius:18px;background:
  radial-gradient(80% 80% at 30% 20%, rgba(201,162,75,.25), transparent 60%),
  linear-gradient(140deg,var(--ink),var(--emerald-deep));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.about-grid .photo .bigq{font-family:'Cormorant Garamond',serif;font-size:200px;color:rgba(230,200,120,.5);line-height:1;}
.about-grid .photo .grid2{position:absolute;inset:0;background-image:linear-gradient(rgba(201,162,75,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,75,.08) 1px,transparent 1px);background-size:26px 26px;}
.about p.body{font-size:15.5px;color:var(--text);line-height:1.85;margin-bottom:16px;}
.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:46px;}
.principle{border-left:3px solid var(--gold);padding:6px 0 6px 18px;}
.principle h4{font-size:18px;color:var(--ink);font-family:'Cormorant Garamond',serif;margin-bottom:5px;}
.principle p{font-size:13.5px;color:var(--muted);}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;margin-top:30px;}
.cform{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;}
.cform label{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin:14px 0 6px;letter-spacing:.3px;}
.cform input,.cform textarea,.cform select{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:14px;color:var(--text);}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,75,.15);}
.cform textarea{min-height:120px;resize:vertical;}
.cinfo .block{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);}
.cinfo .block:last-child{border-bottom:none;}
.cinfo .ic{width:44px;height:44px;border-radius:12px;flex:0 0 auto;background:linear-gradient(135deg,var(--ink),var(--ink2));display:flex;align-items:center;justify-content:center;}
.cinfo .ic svg{width:20px;height:20px;stroke:var(--gold-light);fill:none;stroke-width:1.7;}
.cinfo h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--emerald);font-weight:700;margin-bottom:4px;}
.cinfo p{font-size:15px;color:var(--text);}

/* ---------- Page header (inner pages) ---------- */
.pagehead{background:linear-gradient(160deg,#0B1029,#11183A);color:#fff;padding:70px 0 64px;position:relative;overflow:hidden;}
.pagehead .hero-grid{mask-image:radial-gradient(circle at 50% 50%,black,transparent 85%);}
.pagehead h1{color:#fff;font-size:56px;position:relative;}
.pagehead p{color:#CDD3E6;font-size:16.5px;max-width:560px;margin-top:14px;position:relative;font-weight:300;}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:#AEB6D4;padding:56px 0 28px;}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.08);}
footer .blurb{font-size:13.5px;color:#9AA3C4;margin-top:16px;max-width:300px;line-height:1.7;}
footer h5{color:#fff;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;font-weight:700;}
footer ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
footer ul a{font-size:14px;color:#AEB6D4;transition:color .2s;}
footer ul a:hover{color:var(--gold-light);}
.foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:22px;font-size:12.5px;color:#7B85A8;flex-wrap:wrap;gap:10px;}

/* ---------- Responsive ---------- */
@media(max-width:920px){
  .hero h1{font-size:54px;}
  .section h2,.pagehead h1{font-size:38px;}
  .prod-grid,.val-grid,.about-grid,.contact-grid,.principles,.foot-top{grid-template-columns:1fr;}
  .navlinks{position:fixed;inset:74px 0 auto 0;background:var(--ink);flex-direction:column;gap:0;padding:10px 0;border-bottom:1px solid rgba(201,162,75,.2);display:none;}
  .navlinks.open{display:flex;}
  .navlinks a{padding:14px 28px;width:100%;}
  .menu-btn{display:block;}
  .cta-band{padding:38px 24px;}
  .hero-stats{gap:30px;}
}
@media(max-width:560px){
  .hero h1{font-size:42px;}
  .hero-inner{padding:64px 0 70px;}
  .section{padding:64px 0;}
}
