/* ==========================================================================
   Saudi National Day theme — "عزّنا بطبعنا / Our pride is in our nature"
   Loaded ONLY while the theme is active (partials/nd.php). Everything is
   scoped to body.nd, so removing the <link> restores the normal site.

   Source: Saudi National Day visual-identity guideline
     - Palette : deep green foundation #002628 / Saudi green #00894a plus the
                 six trait colours (blue #0050af, magenta #971a4d, lime #5aba1c,
                 sage #607c4f, periwinkle #6565e0, gold #7c5d21)
     - Motifs  : square grid, pixel/sadu pattern tiles, diamond dividers
     - Type    : IBM Plex Sans (+ Arabic) — the guideline's secondary typeface
   ========================================================================== */

body.nd{
  /* identity tokens */
  --nd-bg:#002628;  --nd-bg-deep:#001a1c;  --nd-panel:#00343a;  --nd-panel2:#003f46;
  --nd-green:#00894a;  --nd-green-hi:#07a72c;  --nd-lime:#5aba1c;
  --nd-line:rgba(0,168,90,.18);  --nd-line-strong:rgba(0,168,90,.40);
  --nd-ink:#eef6f3;  --nd-ink-soft:#9fbfb5;
  --c-gold:#b98d33; --c-sage:#8fae7a; --c-magenta:#c2306f; --c-lime:#5aba1c; --c-blue:#2a7be0; --c-peri:#8a8af0;

  /* re-point the base site tokens so untouched rules adapt automatically */
  --red:#00894a;  --red-dark:#006e3b;
  --navy:#00343a; --navy-dark:#002a2e;
  --amber:#5aba1c;
  --ink:var(--nd-ink);  --ink-soft:var(--nd-ink-soft);
  --bg:var(--nd-bg);  --paper:#00343a;  --paper-soft:rgba(255,255,255,.05);  --paper-dim:rgba(255,255,255,.08);
  --line:var(--nd-line-strong);
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);  --shadow-md:0 12px 32px rgba(0,0,0,.35);  --shadow-lg:0 24px 60px rgba(0,0,0,.45);
  --radius-sm:4px; --radius-md:6px; --radius-lg:8px;
  --font-en:'IBM Plex Sans','Inter','Segoe UI',Tahoma,sans-serif;
  --font-ar:'IBM Plex Sans Arabic','Cairo','Segoe UI',Tahoma,sans-serif;

  background-color:var(--nd-bg);
  background-image:
    linear-gradient(var(--nd-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--nd-line) 1px, transparent 1px);
  background-size:64px 64px;
  background-position:-1px -1px;
  color:var(--ink);
}
body.nd h1, body.nd h2, body.nd h3, body.nd h4{ color:#fff; font-weight:700; }

/* ---------- Motion primitives ---------- */
@keyframes nd-rise   { from{ opacity:0; transform:translateY(28px); } to{ opacity:1; transform:none; } }
@keyframes nd-pop    { from{ opacity:0; transform:scale(.35) rotate(-10deg); } to{ opacity:1; transform:none; } }
@keyframes nd-panel  { from{ opacity:0; clip-path:inset(0 50% 0 50%); } to{ opacity:1; clip-path:inset(0); } }
@keyframes nd-shine  { 0%,55%{ transform:translateX(-130%); } 80%,100%{ transform:translateX(130%); } }
@keyframes nd-float  { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
@keyframes nd-scroll { to{ transform:translateX(-50%); } }
@keyframes nd-strip  { to{ background-position-x:-1008px; } }
@keyframes nd-march  { to{ background-position-x:-256px; } }
@keyframes nd-drift  { to{ background-position:600px 300px; } }
@keyframes nd-spark  { 0%,100%{ opacity:0; } 50%{ opacity:var(--o,.22); } }
@keyframes nd-glint  { to{ background-position:200% 0; } }

/* ---------- Ribbon (top of every page) ---------- */
.nd-ribbon{ position:relative; background:linear-gradient(90deg,#006b3a 0%,#00894a 50%,#006b3a 100%); color:#fff; padding-bottom:16px; }
.nd-ribbon::after{
  content:""; position:absolute; inset-inline:0; bottom:0; height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' shape-rendering='crispEdges'%3E%3Cg fill='%23001c1e'%3E%3Crect x='12' y='0' width='4' height='4'/%3E%3Crect x='8' y='4' width='12' height='4'/%3E%3Crect x='4' y='8' width='20' height='4'/%3E%3Crect x='0' y='12' width='28' height='4'/%3E%3C/g%3E%3C/svg%3E") repeat-x 0 0;
  animation:nd-march 26s linear infinite;
}
.nd-ribbon-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:54px; padding-block:8px 0; }
.nd-ribbon-logo{ height:36px; width:auto; flex:0 0 auto; }
.nd-tag{ flex:1; font-size:.78rem; font-weight:600; letter-spacing:.06em; opacity:.92; }
.nd-tag:first-child{ text-align:start; }
.nd-tag:last-child{ text-align:end; }
@media (max-width:820px){
  .nd-tag{ display:none; }
  .nd-ribbon-inner{ justify-content:center; min-height:46px; }
  .nd-ribbon-logo{ height:30px; }
}

/* ---------- Header ---------- */
body.nd .site-header{ background:#001c1e; border-bottom:1px solid var(--nd-line-strong); box-shadow:none; transition:box-shadow .3s; }
body.nd .site-header.scrolled{ box-shadow:0 10px 30px rgba(0,0,0,.5); }
body.nd .header-inner{ transition:height .3s ease; }
body.nd .site-header.scrolled .header-inner{ height:68px; }
body.nd .brand-logo{ transition:height .3s ease; }
body.nd .site-header.scrolled .brand-logo{ height:40px; }
body.nd .header-actions{ position:relative; z-index:2; }
body.nd .main-nav a{ position:relative; border-radius:4px; }
body.nd .main-nav a::after{
  content:""; position:absolute; inset-inline:14px; bottom:5px; height:2px; background:var(--nd-lime);
  transform:scaleX(0); transform-origin:left center; transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
body.nd[dir="rtl"] .main-nav a::after, html[dir="rtl"] body.nd .main-nav a::after{ transform-origin:right center; }
body.nd .main-nav a:hover::after, body.nd .main-nav a.active::after{ transform:scaleX(1); }
body.nd .main-nav a.active{ background:rgba(0,168,90,.16); color:#fff; }
body.nd .lang-switch{ border-radius:4px; }
body.nd .nav-toggle{ border-radius:4px; }

/* ---------- Buttons ---------- */
body.nd .btn{ border-radius:4px; position:relative; overflow:hidden; letter-spacing:.01em; }
body.nd .btn::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.30) 50%,transparent 70%);
  transform:translateX(-130%); transition:transform .7s ease;
}
body.nd .btn:hover::after{ transform:translateX(130%); }
body.nd .btn-primary{ background:var(--nd-green); box-shadow:0 8px 24px rgba(0,137,74,.35); }
body.nd .btn-primary:hover{ background:#00a35a; }
body.nd .btn-outline-white{ border-color:rgba(255,255,255,.45); }
body.nd .btn-outline-white:hover{ background:#fff; color:#00343a; }
body.nd .btn-outline{ color:var(--nd-lime); border-color:var(--nd-lime); }
body.nd .btn-outline:hover{ background:var(--nd-lime); color:#00201f; }
body.nd .btn-navy{ background:var(--nd-panel2); color:#fff; border-color:var(--nd-line-strong); }
body.nd .btn-navy:hover{ background:var(--nd-green); border-color:var(--nd-green); }

/* ---------- Hero ---------- */
body.nd .hero{
  background:
    linear-gradient(var(--nd-line) 1px, transparent 1px) -1px -1px / 64px 64px,
    linear-gradient(90deg, var(--nd-line) 1px, transparent 1px) -1px -1px / 64px 64px,
    radial-gradient(900px 520px at 88% -8%, rgba(0,168,90,.26), transparent 62%),
    radial-gradient(700px 480px at -4% 108%, rgba(101,101,224,.20), transparent 62%),
    var(--nd-bg-deep);
  border-bottom:1px solid var(--nd-line-strong);
  padding:64px 0 76px;
}
body.nd .hero::before, body.nd .hero::after{ display:none; }
.nd-spark{ position:absolute; width:63px; height:63px; opacity:0; pointer-events:none; z-index:1; animation:nd-spark var(--t,6s) ease-in-out var(--dl,0s) infinite; background:var(--sc,#00894a); }
body.nd .hero-eyebrow{ background:rgba(0,168,90,.14); border:1px solid var(--nd-line-strong); border-radius:4px; color:#c8f0a8; }
body.nd .hero h1{ font-size:clamp(2rem,4.1vw,3.2rem); line-height:1.2; }
body.nd .hero p.lead{ color:rgba(238,246,243,.84); }
body.nd .hero-copy > *{ animation:nd-rise .9s cubic-bezier(.2,.7,.2,1) backwards; }
body.nd .hero-copy > *:nth-child(1){ animation-delay:.10s; }
body.nd .hero-copy > *:nth-child(2){ animation-delay:.22s; }
body.nd .hero-copy > *:nth-child(3){ animation-delay:.34s; }
body.nd .hero-copy > *:nth-child(4){ animation-delay:.46s; }
body.nd .hero-copy > *:nth-child(5){ animation-delay:.60s; }
.nd-greeting{
  display:flex; gap:12px; align-items:flex-start; max-width:56ch; margin:28px 0 0; padding:14px 18px;
  background:rgba(0,168,90,.08); border-inline-start:3px solid var(--nd-lime);
  font-size:.92rem; line-height:1.7; color:var(--nd-ink);
}
.nd-greeting-mark{ flex:0 0 auto; width:8px; height:8px; margin-top:.62em; background:var(--nd-lime); transform:rotate(45deg); }

/* the loom: 6x6 identity tiles around the National Day logo */
body.nd .hero-media{ aspect-ratio:1/1; border:0; border-radius:0; box-shadow:none; overflow:visible; background:none; width:100%; max-width:520px; margin-inline:auto; }
.nd-stage{
  position:relative; display:grid; grid-template-columns:repeat(6,1fr); grid-template-rows:repeat(6,1fr); gap:6px;
  width:100%; height:100%; padding:6px; background:rgba(0,0,0,.28); border:1px solid var(--nd-line-strong);
  box-shadow:var(--shadow-lg); animation:nd-float 10s ease-in-out infinite;
}
.nd-tile{ display:block; overflow:hidden; opacity:0; animation:nd-pop .75s cubic-bezier(.2,.9,.25,1.15) forwards; animation-delay:calc(var(--i) + .25s); }
.nd-tile img{ width:100%; height:100%; object-fit:cover; transition:transform .45s cubic-bezier(.2,.8,.2,1), opacity .35s; }
.nd-tile.flip img{ transform:scale(.55) rotate(-8deg); opacity:0; }
.nd-panel{
  position:relative; grid-column:2 / span 4; grid-row:3 / span 2; display:grid; place-items:center; overflow:hidden; padding:2% 4%;
  background:linear-gradient(160deg,#003f46,#001c1e); border:1px solid var(--nd-line-strong);
  box-shadow:0 0 0 6px var(--nd-bg-deep), 0 22px 60px rgba(0,0,0,.55);
  opacity:0; animation:nd-panel 1s cubic-bezier(.2,.8,.2,1) .6s forwards;
}
.nd-panel::before{ content:""; position:absolute; inset:5px; border:1px dashed rgba(0,168,90,.35); pointer-events:none; }
.nd-panel-logo{ position:relative; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.nd-shine{ position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.20) 50%,transparent 62%); transform:translateX(-130%); animation:nd-shine 8s ease-in-out 2.4s infinite; }

body.nd .hero-stats{ background:var(--nd-line-strong); border-radius:4px; border:1px solid var(--nd-line-strong); }
body.nd .hero-stat{ background:rgba(0,26,28,.78); }
body.nd .hero-stat strong{ color:#fff; font-variant-numeric:tabular-nums; }
body.nd .hero-stat span{ color:var(--nd-ink-soft); }

/* ---------- Slogan marquee + pattern strip ---------- */
.nd-marquee{
  position:relative; overflow:hidden; direction:ltr; padding-block:20px; background:#001c1e; border-bottom:1px solid var(--nd-line-strong);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.nd-marquee-track{ display:flex; width:max-content; animation:nd-scroll 70s linear infinite; }
.nd-marquee:hover .nd-marquee-track{ animation-play-state:paused; }
.nd-marquee-group{ display:flex; align-items:center; gap:42px; padding-inline-end:42px; flex-shrink:0; }
.nd-slogan{ white-space:nowrap; color:#fff; font-weight:700; font-size:clamp(1.35rem,2.6vw,2rem); font-family:var(--font-ar); }
.nd-slogan-en{ font-family:var(--font-en); font-weight:500; font-size:clamp(.85rem,1.5vw,1.1rem); letter-spacing:.24em; text-transform:uppercase; color:var(--nd-ink-soft); }
.nd-dot{ flex:0 0 auto; width:11px; height:11px; transform:rotate(45deg); background:var(--dc); }
.nd-dot-gold{--dc:var(--c-gold);} .nd-dot-sage{--dc:var(--c-sage);} .nd-dot-magenta{--dc:var(--c-magenta);}
.nd-dot-lime{--dc:var(--c-lime);} .nd-dot-blue{--dc:var(--c-blue);} .nd-dot-peri{--dc:var(--c-peri);}

.nd-strip{ height:56px; background:url("/assets/img/nd/strip.webp") repeat-x 0 0 / auto 56px; border-block:1px solid var(--nd-line-strong); animation:nd-strip 110s linear infinite; }

/* ---------- Sections ---------- */
body.nd main{ counter-reset:nd-sec; }
body.nd .section-alt{ background:rgba(0,26,28,.66); border-block:1px solid var(--nd-line); }
body.nd .section-navy{ background:linear-gradient(180deg,#003a40,#002a2e); border-block:1px solid var(--nd-line-strong); }
body.nd .eyebrow{ color:var(--nd-lime); font-size:.76rem; letter-spacing:.16em; }
body.nd .eyebrow::before{ content:""; display:inline-block; width:7px; height:7px; margin-inline-end:10px; vertical-align:middle; background:var(--nd-lime); transform:rotate(45deg); }
body.nd .section-navy .eyebrow{ color:var(--nd-lime); }

/* numbered green block (as in the guideline's section headings) + shimmering diamond row */
body.nd .section-head{ counter-increment:nd-sec; }
body.nd .section-head::before{
  content:counter(nd-sec, decimal-leading-zero); display:grid; place-items:center; width:46px; height:46px; margin:0 0 18px;
  background:var(--nd-green); color:#fff; font-weight:700; font-size:1.05rem; letter-spacing:.02em; font-variant-numeric:tabular-nums;
}
body.nd .section-head.center::before{ margin-inline:auto; }
body.nd .section-head::after, .nd-diamonds::before{
  content:"\25C6  \25C6  \25C6  \25C6  \25C6  \25C6  \25C6";
  display:block; margin-top:20px; font-size:.5rem; letter-spacing:.8em;
  background:linear-gradient(90deg,#00894a 0%,#5aba1c 25%,#8a8af0 50%,#c2306f 75%,#00894a 100%); background-size:200% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
  animation:nd-glint 6s linear infinite;
}
body.nd .section-head.center::after{ text-align:center; }
.nd-diamonds{ display:block; }
.nd-diamonds::before{ margin:0 0 4px; text-align:center; }

/* ---------- Cards ---------- */
body.nd .grid > .card:nth-child(6n+1){ --c:var(--c-gold);    --tile:url("/assets/img/nd/p1-gold.webp"); }
body.nd .grid > .card:nth-child(6n+2){ --c:var(--c-lime);    --tile:url("/assets/img/nd/p1-lime.webp"); }
body.nd .grid > .card:nth-child(6n+3){ --c:var(--c-blue);    --tile:url("/assets/img/nd/p1-blue.webp"); }
body.nd .grid > .card:nth-child(6n+4){ --c:var(--c-magenta); --tile:url("/assets/img/nd/p1-magenta.webp"); }
body.nd .grid > .card:nth-child(6n+5){ --c:var(--c-peri);    --tile:url("/assets/img/nd/p1-peri.webp"); }
body.nd .grid > .card:nth-child(6n+6){ --c:var(--c-sage);    --tile:url("/assets/img/nd/p1-sage.webp"); }
body.nd .card{
  background:
    radial-gradient(360px circle at var(--mx,-999px) var(--my,-999px), rgba(90,186,28,.14), transparent 62%),
    linear-gradient(180deg, rgba(0,58,64,.78), rgba(0,38,42,.78));
  border:1px solid var(--nd-line-strong); border-radius:6px; color:var(--nd-ink);
  box-shadow:inset 0 3px 0 var(--c,var(--nd-green));
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s, border-color .3s;
}
body.nd .card:hover{
  transform:translateY(-6px); border-color:var(--c,var(--nd-green-hi));
  box-shadow:inset 0 3px 0 var(--c,var(--nd-green)), 0 20px 44px rgba(0,0,0,.45);
}
body.nd .family-card{ position:relative; }
body.nd .family-card::before{
  content:""; position:absolute; inset-block-start:18px; inset-inline-end:18px; width:46px; height:46px;
  background:var(--tile) center/cover; border:1px solid rgba(255,255,255,.14); transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
body.nd .family-card:hover::before{ transform:rotate(8deg) scale(1.2); }
body.nd .family-card h3{ padding-inline-end:60px; }
body.nd .family-card .family-link{ color:var(--nd-lime); transition:letter-spacing .3s; }
body.nd .family-card:hover .family-link{ letter-spacing:.03em; }
body.nd .icon-badge{ background:var(--nd-green); border-radius:4px; color:#fff; font-weight:700; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
body.nd .card:hover .icon-badge{ transform:rotate(-6deg) scale(1.08); }
body.nd .branch-card::before{ background:var(--c,var(--nd-green)); border-radius:0; }
body.nd .branch-card .role{ color:var(--nd-lime); }
body.nd .trust-badge{ background:rgba(0,168,90,.10); border:1px solid var(--nd-line-strong); color:#dff5e9; border-radius:4px; }
body.nd .trust-badge svg, body.nd .check-list li svg{ color:var(--nd-lime); }
body.nd .facts-panel{ background:linear-gradient(155deg,#00894a,#005f34); border-radius:6px; border:1px solid rgba(255,255,255,.14); }
body.nd .facts-panel::before{ opacity:1; background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px); background-size:32px 32px; }
body.nd .facts-item{ border-color:rgba(255,255,255,.22); }
body.nd .facts-item strong{ font-variant-numeric:tabular-nums; }
body.nd .facts-item span{ color:rgba(255,255,255,.8); }

/* CTA band */
body.nd .cta-band{ position:relative; overflow:hidden; background:linear-gradient(120deg,#006a3a 0%,#00a35a 62%,#5aba1c 150%); border-radius:8px; border:1px solid rgba(255,255,255,.18); }
body.nd .cta-band::before{ content:""; position:absolute; inset:0; opacity:.13; background:url("/assets/img/nd/strip.webp") 0 0 / auto 84px; animation:nd-drift 90s linear infinite; }
body.nd .cta-band > *{ position:relative; }
body.nd .cta-band p{ margin-inline:auto; margin-bottom:1.6em; }
body.nd .cta-band .btn-primary{ background:#fff; color:#006a3a; }
body.nd .cta-band .btn-primary:hover{ background:#eaffef; }

/* ---------- Forms & contact ---------- */
body.nd .form-card{ background:rgba(0,38,42,.86); border:1px solid var(--nd-line-strong); border-radius:6px; box-shadow:var(--shadow-md); }
body.nd .form-field input, body.nd .form-field select, body.nd .form-field textarea{
  background:rgba(0,20,22,.9); color:#fff; border:1.5px solid rgba(0,168,90,.32); border-radius:4px;
}
body.nd .form-field input::placeholder, body.nd .form-field textarea::placeholder{ color:rgba(159,191,181,.5); }
body.nd .form-field input:focus, body.nd .form-field select:focus, body.nd .form-field textarea:focus{ border-color:var(--nd-lime); background:#001417; box-shadow:0 0 0 3px rgba(90,186,28,.18); }
body.nd .form-field select option{ background:#00282b; color:#fff; }
body.nd .form-field .req{ color:#ff8fb6; }
body.nd .form-alert.success{ background:rgba(90,186,28,.14); color:#c9f3a6; border-color:rgba(90,186,28,.4); }
body.nd .form-alert.error{ background:rgba(194,48,111,.16); color:#ffc3da; border-color:rgba(194,48,111,.45); }
body.nd .contact-info-card{ background:linear-gradient(155deg,#00894a,#005f34); border-radius:6px; border:1px solid rgba(255,255,255,.14); }
body.nd .contact-info-row svg{ color:#d7f5b4; }
body.nd .map-frame{ border-radius:6px; border-color:var(--nd-line-strong); }

/* ---------- Inner pages ---------- */
body.nd .page-hero{ position:relative; overflow:hidden; background:rgba(0,20,22,.62); border-bottom:1px solid var(--nd-line-strong); padding:64px 0 58px; }
body.nd .page-hero .container{ position:relative; z-index:1; }
body.nd .page-hero::after{
  content:""; position:absolute; inset-block-start:50%; inset-inline-end:max(20px, calc((100vw - 1180px) / 2 + 20px));
  width:190px; height:190px; margin-top:-95px; background:var(--hero-tile,none) center/cover;
  border:1px solid var(--nd-line-strong); box-shadow:0 0 0 8px rgba(0,0,0,.28); animation:nd-float 9s ease-in-out infinite;
}
body.page-about{ --hero-tile:url("/assets/img/nd/icon-gold.webp"); }
body.page-products{ --hero-tile:url("/assets/img/nd/icon-lime.webp"); }
body.page-services{ --hero-tile:url("/assets/img/nd/icon-blue.webp"); }
body.page-quote{ --hero-tile:url("/assets/img/nd/icon-peri.webp"); }
body.page-contact{ --hero-tile:url("/assets/img/nd/icon-magenta.webp"); }
@media (min-width:901px){ body.nd .page-hero h1, body.nd .page-hero p{ max-width:calc(100% - 250px); } }
@media (max-width:900px){ body.nd .page-hero::after{ width:96px; height:96px; margin-top:-48px; opacity:.28; } }
body.nd .breadcrumb{ color:var(--nd-ink-soft); }
body.nd .breadcrumb a{ color:var(--nd-lime); }
body.nd .divider-note .pill{ background:var(--nd-green); border-radius:4px; }
body.nd .divider-note .pill[style]{ background:#0050af !important; }
body.nd .divider-note .line{ background:var(--nd-line-strong); }
body.nd .timeline{ border-inline-start-color:var(--nd-line-strong); }
body.nd .timeline-item::before{ border:0; border-radius:0; transform:rotate(45deg); background:var(--nd-lime); box-shadow:0 0 0 5px rgba(90,186,28,.22); }

/* ---------- Footer ---------- */
body.nd .site-footer{ background:#001518; }
body.nd .footer-col h3{ position:relative; padding-bottom:12px; }
body.nd .footer-col h3::after{ content:""; position:absolute; inset-inline-start:0; bottom:0; width:28px; height:3px; background:var(--nd-lime); }
body.nd .footer-col a:hover{ color:var(--nd-lime); }
.nd-footer-tags{ text-align:center; padding-block:6px 34px; border-top:1px solid rgba(255,255,255,.08); margin-top:6px; }
.nd-footer-line{ margin:14px 0 16px; font-family:var(--font-ar); font-size:clamp(1.5rem,3vw,2.2rem); font-weight:700; color:#fff; }
.nd-hashtags{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.nd-hashtags span{ padding:6px 14px; border:1px solid var(--nd-line-strong); border-radius:4px; background:rgba(0,168,90,.08); color:#cdeedd; font-size:.85rem; }

/* scroll progress (created by national-day.js) */
.nd-progress{ position:fixed; inset-block-start:0; inset-inline:0; height:3px; z-index:1001; pointer-events:none; transform-origin:0 50%; transform:scaleX(var(--p,0)); background:linear-gradient(90deg,#00894a,#5aba1c,#8a8af0,#c2306f,#b98d33); }
html[dir="rtl"] .nd-progress{ transform-origin:100% 50%; }

/* ---------- Scroll reveal (JS adds .in) ---------- */
html.nd-js body.nd :is(.section-head,.split-copy,.split-media,.card,.hero-stat,.timeline-item,.cta-band,.form-card,.contact-info-card,.trust-badge,.divider-note,.page-hero .container > *):not(.in){ opacity:0; }
html.nd-js body.nd :is(.section-head,.split-copy,.split-media,.card,.hero-stat,.timeline-item,.cta-band,.form-card,.contact-info-card,.trust-badge,.divider-note,.page-hero .container > *).in{
  animation:nd-rise .85s cubic-bezier(.2,.7,.2,1) backwards; animation-delay:calc(var(--d,0) * 90ms);
}
/* if the script never runs, never leave content hidden */
html.nd-force body.nd :is(.section-head,.split-copy,.split-media,.card,.hero-stat,.timeline-item,.cta-band,.form-card,.contact-info-card,.trust-badge,.divider-note,.page-hero .container > *){ opacity:1 !important; }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  body.nd .hero-media{ order:0; max-width:440px; margin-top:8px; }
  body.nd .hero{ padding:44px 0 56px; }
}
@media (max-width:760px){
  body.nd .main-nav{ background:#001a1c; top:var(--nd-nav-top,72px); }
  body.nd .section-head::before{ width:40px; height:40px; }
  .nd-marquee{ padding-block:14px; }
  .nd-strip{ height:44px; background-size:auto 44px; animation-name:nd-strip-s; }
  @keyframes nd-strip-s{ to{ background-position-x:-792px; } }
}

/* ---------- Reduced motion: everything visible, nothing moving ---------- */
@media (prefers-reduced-motion: reduce){
  body.nd *, body.nd *::before, body.nd *::after{ animation-duration:.001ms !important; animation-delay:0s !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  html.nd-js body.nd :is(.section-head,.split-copy,.split-media,.card,.hero-stat,.timeline-item,.cta-band,.form-card,.contact-info-card,.trust-badge,.divider-note,.page-hero .container > *):not(.in){ opacity:1; }
  .nd-marquee-track, .nd-strip, .nd-ribbon::after, .nd-stage, .nd-shine{ animation:none !important; }
}
