/* ===================== Shared internal-page components ===================== */
/* page hero (dark band, sits under the fixed header) */
.page-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:150px 0 84px}
.page-hero .hero-bg{position:absolute;inset:0;background:
  radial-gradient(1100px 480px at 78% -10%,rgba(67,189,237,.16),transparent 60%),
  radial-gradient(760px 420px at 2% 120%,rgba(212,168,81,.12),transparent 60%);pointer-events:none}
.page-hero .wrap{position:relative;z-index:1}
.crumb{display:flex;gap:9px;align-items:center;font-size:13px;color:#9fb0c4;margin-bottom:20px;font-weight:600}
.crumb a{color:#9fb0c4}.crumb a:hover{color:var(--cyan)}.crumb i{opacity:.45;font-style:normal}
.page-hero h1{font-family:'Diodrum','Diodrum Fallback','Manrope',sans-serif;font-size:clamp(32px,5vw,54px);line-height:1.06;font-weight:700;color:#fff;letter-spacing:-.01em;max-width:16ch}
.page-hero h1 .grad{background:linear-gradient(120deg,var(--cyan),var(--cyan-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero .ph-lead{font-size:clamp(16px,1.4vw,19px);color:#bccadb;max-width:58ch;margin:20px 0 0;line-height:1.7}
.ph-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.ph-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:50px;align-items:center}

/* intro lead paragraph */
.lead-2{font-size:clamp(18px,2vw,22px);line-height:1.6;color:var(--ink);font-weight:500}

/* eyebrow alignment helper for left-aligned section heads */
.s-head.left{text-align:left;margin-left:0}
.eyebrow+ h1,.eyebrow+h2{margin-top:14px}

/* checklist ("who it's for" / inclusions) */
.checks{list-style:none;display:grid;gap:14px;margin:6px 0 0;padding:0}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--body)}
.checks li svg{width:22px;height:22px;flex:none;color:var(--cyan-deep);margin-top:1px}
.checks li b{color:var(--ink);font-weight:700}

/* alternating two-column feature row */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.frow+.frow{margin-top:64px}
.frow.rev .ftext{order:2}
.ftext h3{font-size:clamp(22px,2.4vw,29px);font-weight:800;text-transform:uppercase;letter-spacing:.01em;margin-bottom:14px;line-height:1.14;color:var(--ink)}
.dark .ftext h3{color:#fff}
.ftext h3 .accent{color:var(--cyan-deep)}
.ftext p{font-size:16px;margin-bottom:14px}

/* link cards (solutions / products / industries) */
.lcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:var(--ease);text-decoration:none;color:inherit}
.lcard:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.lcard .ico{height:46px;display:flex;align-items:center;color:var(--cyan-deep);margin-bottom:16px;transition:var(--ease)}
.lcard:hover .ico{transform:translateY(-2px) scale(1.07)}
.lcard .ico svg{width:34px}.lcard .ico img{width:34px;height:34px;object-fit:contain}
.lcard h3{font-size:18px;margin-bottom:8px;color:var(--ink)}
/* official Odoo app icons in feature card sets: one size for the whole set (matches the 32px line icons) */
.card .ico img.oapp{width:32px;height:32px}
.lcard p{font-size:14.5px;color:var(--body);flex:1;line-height:1.6}
.lcard .more{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-weight:700;font-size:14px;color:var(--cyan-deep)}
.lcard .more svg{width:15px;transition:var(--ease)}.lcard:hover .more svg{transform:translateX(4px)}

/* outcome / metric band */
.out-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.out{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 22px;text-align:center}
.out b{display:block;font-family:'Diodrum','Diodrum Fallback','Manrope',sans-serif;font-weight:700;font-size:40px;color:var(--cyan-deep);line-height:1;margin-bottom:8px}
.out span{font-size:13.5px;color:var(--body);font-weight:600;letter-spacing:.02em}

/* numbered process list (vertical, for solution pages) */
.flow-steps{display:grid;gap:18px;counter-reset:fs}
.fstep{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 24px}
.fstep .n{counter-increment:fs;flex:none;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-family:'Manrope',sans-serif;font-weight:800;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;text-align:center}
.fstep .n::before{content:counter(fs)}
.fstep h4{font-size:17px;margin-bottom:4px;color:var(--ink)}
.fstep p{font-size:14.5px;color:var(--body);margin:0}

/* final CTA band */
.cta-band{background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:var(--r-lg);padding:56px;text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(620px 320px at 82% 0,rgba(67,189,237,.2),transparent 60%);pointer-events:none}
.cta-band h2{font-family:'Diodrum','Diodrum Fallback','Manrope',sans-serif;font-size:clamp(24px,3vw,34px);font-weight:800;text-transform:uppercase;color:#fff;margin-bottom:14px;position:relative}
.cta-band p{color:#bccadb;max-width:560px;margin:0 auto 26px;position:relative;font-size:16px}
.cta-band .ph-cta{justify-content:center;position:relative}

/* image placeholder (for visuals to be generated; see the page's -images.md) */
.ph-img{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:34px;min-height:260px;border-radius:var(--r-lg);
  background:repeating-linear-gradient(45deg,#eef3fa,#eef3fa 11px,#e6eef8 11px,#e6eef8 22px);border:1.5px dashed #b6c6da;color:#5e6f88}
.ph-img svg{width:38px;height:38px;opacity:.5}
.ph-img b{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#52637c}
.ph-img span{font-size:13px;max-width:34ch;line-height:1.5}
.ph-img.tall{min-height:360px}
.section.dark .ph-img,.page-hero .ph-img,.dark .ph-img{background:repeating-linear-gradient(45deg,#13233f,#13233f 11px,#162848 11px,#162848 22px);border-color:rgba(255,255,255,.18);color:#9fb0c4}

/* prose (legal / long text) */
.prose{max-width:780px;margin:0 auto;color:var(--body);font-size:16px;line-height:1.85}
.prose h2{font-size:23px;margin:36px 0 12px;color:var(--ink);text-transform:none;letter-spacing:0;font-weight:700}
.prose h3{font-size:18px;margin:24px 0 8px;color:var(--ink)}
.prose p{margin-bottom:14px}
.prose ul{padding-left:22px;margin-bottom:14px}.prose li{margin-bottom:8px}
.prose a{color:var(--cyan-deep);font-weight:600}
.prose .lead{font-size:19px;line-height:1.7;color:var(--ink);font-weight:500;margin-bottom:22px}
.art-meta{margin-top:16px;font-size:14px;font-weight:600;color:#9fb0c4;letter-spacing:.02em}
.art-hero-img{max-width:900px;margin:0 auto 40px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16/7}
/* ---- blog archive/index listing (native posts) ---- */
.cat-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:40px}
.cat-pill{font-size:13.5px;font-weight:700;padding:9px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--body);cursor:pointer;transition:var(--ease);text-decoration:none}
.cat-pill.on,.cat-pill:hover{background:var(--navy);color:#fff;border-color:transparent}
.post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:var(--ease);text-decoration:none;color:inherit}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.post .pthumb{aspect-ratio:16/9;position:relative;overflow:hidden;background:#0d1730}
.post .pthumb img{width:100%;height:100%;object-fit:cover;transition:var(--ease)}
.post:hover .pthumb img{transform:scale(1.05)}
.post .pthumb .cat{position:absolute;top:12px;left:12px;z-index:1;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:rgba(8,16,32,.55);backdrop-filter:blur(4px);padding:4px 10px;border-radius:999px}
.post .pb{padding:20px 22px 24px}
.post .pmeta{font-size:12px;color:var(--muted);margin-bottom:8px}
.post h3{font-size:17px;line-height:1.3;margin-bottom:8px;color:var(--ink)}
.post p{font-size:14px;color:var(--body)}
.feat-post{display:grid;grid-template-columns:1.1fr .9fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:44px;text-decoration:none;color:inherit;transition:var(--ease)}
.feat-post:hover{box-shadow:var(--shadow-lg);border-color:transparent}
.feat-post .fthumb{min-height:320px;position:relative;overflow:hidden;background:#0d1730}
.feat-post .fthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feat-post .fbody{padding:44px}
.feat-post .fbody .tag{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--cyan-deep);margin-bottom:12px}
.feat-post .fbody h2{font-family:'Diodrum','Diodrum Fallback','Manrope',sans-serif;font-size:clamp(22px,2.6vw,30px);font-weight:800;line-height:1.2;margin-bottom:12px;text-transform:none;color:var(--ink)}
.feat-post .fbody p{font-size:15.5px;color:var(--body);margin-bottom:18px}
.blog-pagination{display:flex;gap:8px;justify-content:center;margin-top:40px}
.blog-pagination .page-numbers{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--body);font-weight:700;text-decoration:none}
.blog-pagination .page-numbers.current{background:var(--navy);color:#fff;border-color:transparent}
.blog-pagination a.page-numbers:hover{border-color:var(--cyan-deep);color:var(--cyan-deep)}
@media(max-width:860px){.feat-post{grid-template-columns:1fr}.feat-post .fthumb{min-height:220px}}
.art-hero-img img{width:100%;height:100%;object-fit:cover;display:block}

/* simple contact info rows */
.info-row{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.info-row .ii{width:44px;height:44px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--bg-soft);color:var(--cyan-deep)}
.info-row .ii svg{width:21px}
.info-row b{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}
.info-row span,.info-row a{color:var(--body);font-size:14.5px}

/* two-column card grid (stacks with .g3/.g4 on phones) */
.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:560px){.g2{grid-template-columns:1fr}}

/* responsive */
@media(max-width:992px){
  .ph-grid,.frow{grid-template-columns:1fr;gap:34px}
  .frow.rev .ftext{order:0}
  .out-grid{grid-template-columns:repeat(2,1fr)}
  .page-hero{padding:120px 0 62px}
  .cta-band{padding:42px 24px}
}
@media(max-width:560px){
  .out-grid{grid-template-columns:1fr}
  .page-hero{padding:104px 0 48px}
}

/* ---- 360 product pages ---- */
.p360-vis{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;background:#0d1730}
.p360-vis img{width:100%;height:100%;object-fit:cover}
.p360-vis .p360-badge{position:absolute;top:16px;left:16px;font-size:12px;font-weight:800;color:#2a1f08;background:linear-gradient(135deg,var(--gold),var(--gold-2));padding:6px 14px;border-radius:999px;letter-spacing:.04em}
.p360-vis .p360-ai{position:absolute;bottom:16px;left:16px;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#fff;background:rgba(15,30,60,.92);border:1px solid rgba(67,189,237,.45);backdrop-filter:blur(6px);padding:7px 13px;border-radius:999px}
.p360-vis .p360-ai img{width:16px;height:16px}
/* Co-branded 360 product LOGOS (the p360 logo folder): render as contained line-art on a
   light panel wherever they appear: product heroes, suite grids, sector cards. Photographic
   sector shots in gen/* keep their cover treatment. Homepage cards (img.m) are excluded. */
/* 360 product icons on light cards; not the hero chips (.pi: white line icons on navy) or the mega menu (.m) */
img[src*="/p360/"]:not(.m):not(.pi){object-fit:contain !important;background:linear-gradient(180deg,#F4F8FD,#FFFFFF);padding:12%}
.p360-vis img[src*="/p360/"]{padding:14%;filter:drop-shadow(0 14px 20px rgba(15,30,60,.12))}
/* 360 product icon tiles (Products + Industries heroes): label reads "Name 360°" */
.pv{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1;box-shadow:0 20px 40px -22px rgba(0,0,0,.7)}
.pv img{width:100%;height:100%;object-fit:cover}
.pv .pvl{position:absolute;left:0;right:0;bottom:0;padding:9px 11px;background:linear-gradient(0deg,rgba(8,16,32,.92),transparent);font-size:11px;font-weight:700;line-height:1.4;color:#fff}
.pv .b360{display:inline-block;margin-left:3px;font-size:9.5px;font-weight:800;line-height:1.4;color:#2a1f08;background:linear-gradient(135deg,var(--gold),var(--gold-2));padding:0 6px;border-radius:999px;vertical-align:1px}
/* icon sits above the label strip so the label never covers it */
.pv img[src*="/p360/"]{padding:8% 16% 30%}
@media(max-width:480px){.pv .pvl{padding:6px 7px;font-size:10px}.pv img[src*="/p360/"]{padding:6% 18% 38%}.pv .b360{font-size:8.5px;padding:0 5px}}
/* Fluent Forms contact form themed to match the site (scoped to the contact card) */
.upw-ff .ff-el-group{margin-bottom:16px}
.ff-consent{font-size:13px;line-height:1.5;color:#5b6b7f;margin-top:14px}
.ff-consent a{color:var(--cyan-deep);text-decoration:underline}
.upw-ff .ff-t-container{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.upw-ff .ff-t-cell{padding:0!important;width:auto!important}
.upw-ff .ff-el-input--label label{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px}
.upw-ff .ff-el-form-control{width:100%;font-family:'Manrope',sans-serif;font-size:14.5px;color:var(--ink);background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:13px 15px;transition:var(--ease)}
.upw-ff .ff-el-form-control:focus{outline:none;border-color:var(--cyan-deep);background:#fff;box-shadow:0 0 0 4px rgba(67,189,237,.12)}
.upw-ff textarea.ff-el-form-control{resize:vertical;min-height:120px}
.upw-ff .ff-el-is-error .ff-el-form-control{border-color:#e05a5a}
.upw-ff .ff_submit_btn_wrapper,.upw-ff .ff-el-group.ff_submit_btn_wrapper{margin-bottom:0}
.upw-ff .ff-btn-submit{background:linear-gradient(135deg,var(--gold),var(--gold-2))!important;color:#0F1E3C!important;font-family:'Manrope',sans-serif;font-weight:800;border:none;border-radius:999px;width:100%;letter-spacing:.01em;cursor:pointer;box-shadow:0 10px 22px -8px rgba(212,168,81,.6);transition:var(--ease)}
/* size: Fluent's own .ff-default .ff_btn_style (loaded later) would win at equal specificity, so the size lives here with one more selector; values = the approved look (Fluent "large": 18px, 45px tall) */
.upw-ff form .ff-btn-submit{font-size:18px;line-height:1.5;padding:8px 20px}
.upw-ff .ff-btn-submit:hover{filter:brightness(1.04);transform:translateY(-1px)}
.upw-ff .ff-message-success{background:#f0faf4;border:1px solid #b8e6cb;color:#176b3a;border-radius:12px;padding:16px 18px;font-size:14.5px}
/* ===================== Upward AI surfaces (shared) =====================
   AI panels use the site's navy with a brand-blue glow and cyan accents, like every other dark
   panel. Magenta and yellow stay inside the AI logo itself. Markup: add .ai-panel to the box;
   --ai-glow-at moves the glow (default: centred, a little above the middle). */
.ai-panel{--ai-glow-at:50% 40%;background:radial-gradient(circle at var(--ai-glow-at),rgba(67,189,237,.28),transparent 62%),var(--navy);border:1px solid rgba(67,189,237,.3);color:#fff}
/* accent words in AI headings: brand cyan on light surfaces, the hero cyan gradient on dark ones */
.ai-grad{color:var(--cyan-deep)}
.page-hero .ai-grad,.ai-panel .ai-grad,.cta-band .ai-grad{background:linear-gradient(120deg,var(--cyan),var(--cyan-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.ai-band{--ai-glow-at:6% 50%;display:flex;align-items:center;gap:22px;border-radius:var(--r-lg);padding:30px 36px}
.ai-band img.aim{width:48px;flex:none}
.ai-band h3{font-size:20px;color:#fff;margin-bottom:5px}
.ai-band p{font-size:15px;color:#cfe9f4;margin:0;max-width:70ch}
@media(max-width:560px){.ai-band{flex-direction:column;text-align:center;padding:26px 22px}}

/* subtle depth texture on internal dark sections (homepage unaffected: it doesn't load this file) */
.section.dark{position:relative}
.section.dark::before{content:"";position:absolute;inset:0;background:radial-gradient(880px 520px at 80% 8%,rgba(67,189,237,.10),transparent 60%),radial-gradient(720px 440px at 10% 92%,rgba(108,140,255,.09),transparent 62%);pointer-events:none;z-index:0}
.section.dark>*{position:relative;z-index:1}
/* cards on dark sections: glass surface, white title, muted text, cyan icon */
.section.dark .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.section.dark .card h3{color:#fff}
.section.dark .card p{color:#9fb0c4}
.section.dark .card .ico{color:var(--cyan)}

/* ---- thank-you pages ---- */
/* navy hero under the fixed white header (same treatment as the book thank-you page), next steps on light below */
.ty-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:160px 0 96px}
.ty-hero::before{content:"";position:absolute;left:50%;top:-30%;width:min(900px,140%);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(67,189,237,.2),rgba(67,189,237,0))}
.ty-after{padding:56px 0 88px}
.ty-in{position:relative;text-align:center;max-width:620px;margin:0 auto}
.ty-hero .ty-in h1{color:#fff}
.ty-hero .ty-in p{color:#C4D0DF;margin-bottom:0}
@media(max-width:900px){.ty-hero{padding:144px 0 72px}}
.ty-check{width:86px;height:86px;border-radius:50%;margin:0 auto 26px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1aa260,#43BDED);color:#fff;box-shadow:0 22px 46px -18px rgba(67,189,237,.6)}
.ty-check svg{width:40px}
.ty-in h1{font-size:clamp(30px,4vw,44px);margin-bottom:14px}
.ty-in p{font-size:17px;color:var(--body);margin-bottom:30px;line-height:1.7}
.ty-next{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.ty-next a{display:flex;flex-direction:column;gap:4px;padding:18px 22px;border-radius:14px;background:#fff;border:1px solid var(--line);text-decoration:none;color:inherit;transition:var(--ease);min-width:160px;text-align:left}
.ty-next a:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.ty-next a b{font-size:14px;color:var(--ink)}.ty-next a span{font-size:12px;color:var(--muted)}

/* in-page anchors on cards and section heads (#customization, #sla, #tailored...): land below the fixed header */
.card[id],.s-head[id]{scroll-margin-top:110px}



/* skip link (a11y): off-screen at rest, shown on the first keyboard Tab; #main is its target */
.skip-link{position:absolute;left:12px;top:-64px;z-index:10000;padding:10px 16px;border-radius:8px;background:#fff;color:#0F1E3C;font-weight:700;font-size:14px;box-shadow:0 8px 24px -8px rgba(0,0,0,.4)}
.skip-link:focus{top:12px}
main:focus{outline:none}

/* ===================== Saudi band (shared, v3: calm) =====================
   Light surface with a calm Saudi-colour aurora (Gemini-style gradient) that supports the text, all on transform (GPU):
   - five soft colour fields (Saudi green, mint, a touch of gold) on slow 16-22s loops,
   - one gentle luminous ribbon drifting across (14s), noticeable but quiet,
   - a very faint white Najdi lattice that only shows where colour passes behind it,
   - a faint Sadu weave strip on the bottom edge that slowly travels,
   - optional pointer parallax (desktop): an inline script sets --sa-px/--sa-py (-0.5 to 0.5) on the band.
   Content sits directly on the band (open layout: type, spacing, thin dividers; no boxed cards).
   Reduced motion: static gradient, no parallax.
   Markup: <div class="sa-band sa-card"> (contained band) or <section class="section sa-band">
   (full-width), with <div class="sa-aurora" aria-hidden="true"><i></i><i></i><i></i><i></i><i></i></div>
   as the first child. */
.sa-band{--sa-green:#006C35;--sa-mint:#9BE7AE;--sa-gold:#D4A851;--sa-text:#3F4E63;--sa-line:rgba(0,108,53,.16);--sa-px:0;--sa-py:0;
  position:relative;isolation:isolate;overflow:hidden;background:#fff;color:var(--sa-text)}
.sa-card{border-radius:var(--r-lg);padding:64px 60px;box-shadow:0 40px 90px -60px rgba(15,30,60,.32)}
.sa-aurora{position:absolute;inset:-40px;z-index:-1;pointer-events:none;
  transform:translate3d(calc(var(--sa-px) * -24px),calc(var(--sa-py) * -16px),0);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.sa-aurora i{position:absolute;width:clamp(320px,54%,720px);aspect-ratio:1;border-radius:50%;translate:-50% -50%;will-change:transform}
.sa-aurora i:nth-child(1){left:6%;top:18%;background:radial-gradient(closest-side,rgba(0,108,53,.12),rgba(0,108,53,0));--sa-drift:sa-flow-a 18s ease-in-out infinite alternate}
.sa-aurora i:nth-child(2){left:90%;top:10%;background:radial-gradient(closest-side,rgba(155,231,174,.5),rgba(155,231,174,0));--sa-drift:sa-flow-b 20s ease-in-out infinite alternate}
.sa-aurora i:nth-child(3){left:62%;top:104%;background:radial-gradient(closest-side,rgba(230,192,116,.26),rgba(230,192,116,0));--sa-drift:sa-flow-c 22s ease-in-out infinite alternate}
.sa-aurora i:nth-child(4){left:100%;top:88%;background:radial-gradient(closest-side,rgba(0,140,70,.12),rgba(0,140,70,0));--sa-drift:sa-flow-b 16s ease-in-out infinite alternate-reverse}
.sa-aurora i:nth-child(5){left:24%;top:100%;background:radial-gradient(closest-side,rgba(155,231,174,.4),rgba(155,231,174,0));--sa-drift:sa-flow-a 19s ease-in-out infinite alternate-reverse}
/* luminous ribbon: under the colour fields, a slow gentle drift */
.sa-aurora::before{content:"";position:absolute;left:-20%;top:30%;width:70%;height:44%;border-radius:50%;will-change:transform;
  background:linear-gradient(100deg,rgba(155,231,174,0) 6%,rgba(155,231,174,.42) 30%,rgba(0,108,53,.08) 48%,rgba(230,192,116,.24) 66%,rgba(155,231,174,0) 90%);
  -webkit-mask-image:radial-gradient(closest-side,#000 30%,transparent);mask-image:radial-gradient(closest-side,#000 30%,transparent)}
/* Najdi lattice in white, very faint: it only reads where colour flows behind it */
.sa-aurora::after{content:"";position:absolute;inset:0;opacity:.4;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='42'%3E%3Cpath d='M0 21 36 0 72 21 36 42Z' fill='none' stroke='white' stroke-width='1'/%3E%3C/svg%3E") repeat;
  -webkit-mask-image:linear-gradient(105deg,transparent 40%,#000 80%);mask-image:linear-gradient(105deg,transparent 40%,#000 80%)}
/* Sadu weave strip: diamonds and gold beads, faded at both ends; it travels one tile per loop */
.sa-band::after{content:"";position:absolute;left:-40px;right:0;bottom:0;height:20px;z-index:-1;pointer-events:none;opacity:.45;will-change:transform;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20'%3E%3Cpath d='M0 10 10 0 20 10 10 20Z' fill='none' stroke='%23006C35' stroke-opacity='.36'/%3E%3Cpath d='M10 6 14 10 10 14 6 10Z' fill='%23D4A851' fill-opacity='.7'/%3E%3Cpath d='M20 20 30 10 40 20M20 0 30 10 40 0' fill='none' stroke='%23006C35' stroke-opacity='.22'/%3E%3C/svg%3E") repeat-x center;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent)}
@keyframes sa-flow-a{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(30%,14%,0) scale(1.12)}100%{transform:translate3d(52%,-8%,0) scale(.96)}}
@keyframes sa-flow-b{0%{transform:translate3d(0,0,0) scale(1.04)}50%{transform:translate3d(-32%,18%,0) scale(.94)}100%{transform:translate3d(-16%,38%,0) scale(1.1)}}
@keyframes sa-flow-c{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-34%,-20%,0) scale(1.12)}100%{transform:translate3d(18%,-28%,0) scale(1)}}
@keyframes sa-ribbon{0%{transform:translate3d(0,6%,0) rotate(-6deg)}100%{transform:translate3d(70%,-8%,0) rotate(4deg)}}
@keyframes sa-weave{to{transform:translate3d(40px,0,0)}}
/* motion only when the visitor allows it; reduced motion keeps the static gradient */
@media (prefers-reduced-motion:no-preference){
  .sa-aurora i{animation:var(--sa-drift)}
  .sa-aurora::before{animation:sa-ribbon 14s ease-in-out infinite alternate}
  .sa-band::after{animation:sa-weave 6s linear infinite}
}
@media (prefers-reduced-motion:reduce){.sa-aurora{transition:none}}
/* content on the band */
.sa-eyebrow{color:#00592C;background:rgba(232,244,236,.94);box-shadow:inset 0 0 0 1px rgba(0,108,53,.14)}
.sa-h2{font-family:'Diodrum','Diodrum Fallback','Manrope',sans-serif;font-size:clamp(24px,3vw,38px);font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.1;margin:14px 0 12px;color:var(--ink)}
.sa-green{color:#006C35}
.sa-lead{font-size:17px;color:var(--sa-text);max-width:56ch}
.sa-band .checks li{color:var(--sa-text)}
.sa-band .checks li svg{color:var(--sa-green)}
.sa-band .s-head p{color:var(--sa-text)}
/* open layout helpers (v3): items separated by thin rules (no boxes); logos as a clean row */
.sa-rule{border-top:1px solid var(--sa-line);padding-top:18px;position:relative}
.sa-rule::before{content:"";position:absolute;left:0;top:-1px;width:36px;height:2px;background:var(--sa-green)}
.sa-logorow{display:flex;flex-wrap:wrap;align-items:center}
.sa-logorow img{height:40px;width:auto;display:block;filter:brightness(0);opacity:.62}
.sa-logorow img.sl-color{filter:none;opacity:.9}/* original-colour logo; the others are white footer versions */
.sa-logorow > *{padding:4px 26px;border-left:1px solid var(--sa-line)}
.sa-logorow > :first-child{padding-left:0;border-left:0}
@media(max-width:560px){.sa-logorow img{height:32px}.sa-logorow > *{padding:4px 16px}}
/* v2 frosted box: only the About v2 section (option A) still uses it */
.sa-glass{background:rgba(255,255,255,.66);border:1px solid rgba(0,108,53,.14);border-radius:16px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 40px -30px rgba(15,30,60,.35)}
@media(max-width:992px){.sa-card{padding:40px 26px}}
/* About: "Empowering Saudi Arabia" band with the landmarks film (Upward arrow draws each landmark).
   Video: muted loop, sources attached by the inline script only when in view; reduced motion = poster. */
.sa-about{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.sa-about .sa-lead{margin-bottom:26px}
.sa-marks{display:flex;flex-wrap:wrap;gap:12px}
.sa-marks span{padding:14px 18px;display:flex;align-items:center}
.sa-marks img{height:38px;width:auto;filter:brightness(0);opacity:.72}
.sa-film{position:relative;aspect-ratio:1;border-radius:22px;overflow:hidden;background:#fff;
  border:1px solid rgba(0,108,53,.14);box-shadow:0 30px 70px -40px rgba(15,30,60,.45)}
.sa-film video{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.sa-about{grid-template-columns:1fr;gap:34px}.sa-film{max-width:520px;width:100%;margin:0 auto}}


/* visually hidden, still read by screen readers and search engines */
.vh{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;padding:0}

/* About Saudi v3 (Ibrahim picked v3, 2026-10-19) */
/* About v3: content and film sit directly on the band. The film's white field fades out through a soft radial mask. */
.sa-about3{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.sa-about3 .sa-lead{margin-bottom:30px}
.sa-film3{position:relative;aspect-ratio:1;margin:-36px -24px -36px 0}
.sa-film3 video{display:block;width:100%;height:100%;object-fit:cover;
  -webkit-mask-image:radial-gradient(closest-side,#000 80%,transparent);mask-image:radial-gradient(closest-side,#000 80%,transparent)}
/* keep two columns on tablets (stacking put a 520px film under the text and doubled the section height); phones stack with a small film */
@media(max-width:900px){.sa-about3{grid-template-columns:1.2fr .8fr;gap:18px}.sa-film3{margin:-12px -10px -12px 0}}
@media(max-width:480px){.sa-about3{grid-template-columns:1fr;gap:0}.sa-film3{max-width:250px;width:100%;margin:6px auto -14px}}
